【发布时间】:2018-08-02 15:58:48
【问题描述】:
我已经能够使用 QTableWidget 和 QTableWidgetItem 根据搜索栏中返回的文本将数据库中的信息填充到 QTableWidget 中。虽然我能够让搜索到的项目将所有信息填充到 tablewidget 中,但我无法继续将搜索栏中的产品添加到 tablewidget 中。相反,结果只是被覆盖和替换。这是我的代码示例。
# Defines Search Bar Button
def search_Bar(self):
searchFor = self.searchBar.text()
#print(searchFor)
searchQ = c.execute(" SELECT * FROM databasetable WHERE title LIKE ('%' || ? || '%') ", (searchFor,))
self.tableWidget.setRowCount(0)
for row_number, row_data in enumerate(searchQ):
self.tableWidget.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.tableWidget.setItem(row_number, column_number, QTableWidgetItem(str(data)))
上面的代码会产生我想要的结果,但是当我尝试向 QTableWidget 添加多个项目时,它会覆盖之前选择的项目。
是否可以在不覆盖先前选择的情况下设置项目?我希望能够创建一个包含所需搜索结果的表格。如果需要,我们也希望可以选择清空表格。
【问题讨论】:
标签: python qt pyqt qtablewidget qtablewidgetitem