我有一个PySide QTableWidget,我通过运行一个函数用QListWidget中的项填充这个表:
def fillTable(self):
fruits = self.listWidget.selectedItems() # ['Apple', 'Banana', 'Coconut']
self.tableWidget.setRowCount(len(fruits))
n = 0
for i in fruits:
item = QTableWidgetItem()
self.tableWidget.setItem(n, 0, item)
item.setText(i)
n = n + 1
再次使用QListWidget中的其他项运行此函数替换表中的项。如何将新项目附加到现有项目?
答案 0 :(得分:1)
要添加新元素,您必须增加行数,并使用新位置。因此,您必须获取插入前的行数才能使用函数rowCount()
,如下所示:
def fillTable(self):
fruits = self.listWidget.selectedItems() # ['Apple', 'Banana', 'Coconut']
n = self.tableWidget.rowCount()
self.tableWidget.setRowCount(n + len(fruits))
for i in fruits:
item = QTableWidgetItem()
self.tableWidget.setItem(n, 0, item)
item.setText(i)
n = n + 1