QTableWidget 设计一个 每次录入4列数据 则切换下一行的方法
你可以使用QTableWidget的insertRow()方法在每次录入4列数据后插入一个新的行。以下是一个示例代码:
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.table.setColumnCount(4)
self.layout = QVBoxLayout()
self.layout.addWidget(self.table)
self.setLayout(self.layout)
def add_data(self, data):
row_count = self.table.rowCount()
column_count = self.table.columnCount()
if column_count != len(data):
return
self.table.insertRow(row_count)
for i, value in enumerate(data):
item = QTableWidgetItem(value)
self.table.setItem(row_count, i, item)
if (row_count + 1) % 4 == 0:
self.table.insertRow(row_count + 1)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
data1 = ['A', 'B', 'C', 'D']
data2 = ['E', 'F', 'G', 'H']
data3 = ['I', 'J', 'K', 'L']
data4 = ['M', 'N', 'O', 'P']
window.add_data(data1)
window.add_data(data2)
window.add_data(data3)
window.add_data(data4)
sys.exit(app.exec_())
在这个示例中,我们首先创建一个QTableWidget并设置其列数为4。然后,我们定义了一个add_data方法,它接受一个包含4个数据的列表作为参数。在该方法中,我们获取当前表格的行数和列数,并与输入数据的长度进行比较。如果列数不匹配,方法将返回。否则,我们使用insertRow()方法在表格中插入一个新的行。然后,我们使用setItem()方法在新行中添加数据。最后,我们检查当前行数是否是4的倍数,如果是,就再插入一个新的空行
原文地址: http://www.cveoy.top/t/topic/i0E0 著作权归作者所有。请勿转载和采集!