QTableWidget 设计一个 每次录入1个数据 连续录4组后 则切换下一行的方法
您可以使用一个计数器来记录已经录入的数据组数,当计数器达到4时,切换到下一行。以下是一个示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.table.setColumnCount(4)
self.table.setRowCount(1)
self.table.setHorizontalHeaderLabels(["Data 1", "Data 2", "Data 3", "Data 4"])
self.input_data = []
self.row_counter = 0
self.column_counter = 0
self.setCentralWidget(self.table)
def input_data_handler(self, data):
self.input_data.append(data)
self.column_counter += 1
if self.column_counter == 4:
self.column_counter = 0
self.row_counter += 1
self.table.setRowCount(self.row_counter + 1)
self.table.setItem(self.row_counter, self.column_counter, QTableWidgetItem(str(data)))
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
在这个示例中,我们创建了一个QTableWidget并将其设置为主窗口的中央部件。我们还创建了一个input_data_handler方法来处理录入的数据。在每次录入数据时,我们将数据添加到input_data列表中,并将其显示在表格中的对应单元格中。当录入了4组数据后,我们将column_counter重置为0,并增加row_counter的值以切换到下一行。同时,我们还通过调用setRowCount方法来增加表格的行数,以确保足够的行数用于显示所有录入的数据。
请注意,这只是一个示例代码,您可能需要根据您的实际需求进行修改
原文地址: http://www.cveoy.top/t/topic/i0Gn 著作权归作者所有。请勿转载和采集!