如何在 table 小部件 PySide 中追加一行
How to append a row in a table widget PySide
我有一个 PySide QTableWidget,我通过 运行 一个函数:
用 QListWidget 中的项目填充这个 table
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中的另一个项目替换了table中的项目。如何将新项目附加到现有项目?
要添加新元素,您必须增加行数,并使用新位置。为此,您必须获取插入前的行数才能使用函数 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
我有一个 PySide QTableWidget,我通过 运行 一个函数:
用 QListWidget 中的项目填充这个 tabledef 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中的另一个项目替换了table中的项目。如何将新项目附加到现有项目?
要添加新元素,您必须增加行数,并使用新位置。为此,您必须获取插入前的行数才能使用函数 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