我需要在表中的每个原始中添加一个按钮,这是我的代码:
queue = 1
test_list = [1,5,51,651,651,651,651,651,651,651,651,651,64,8,54,564,984,654,984,654,84,651,81,651,8,165,18,16,19,88]
for item in test_list:
self.button = QtGui.QPushButton(self.tableWidget)
rowPosition = self.tableWidget.rowCount()
self.tableWidget.insertRow(rowPosition)
self.tableWidget.setItem(rowPosition , 0, QtGui.QTableWidgetItem("text" + str(item)))
self.tableWidget.setItem(rowPosition , 1, QtGui.QTableWidgetItem("text" + str(item)))
self.tableWidget.setItem(rowPosition , 2, QtGui.QTableWidgetItem("text" + str(item)))
self.tableWidget.setItem(rowPosition , 3, QtGui.QTableWidgetItem("text" + str(item)))
self.tableWidget.setItem(rowPosition , 4, QtGui.QTableWidgetItem("text" + str(item)))
self.tableWidget.setItem(rowPosition , 5, QtGui.QTableWidgetItem(self.button))
self.tableWidget.setItem(rowPosition , 6, QtGui.QTableWidgetItem(str(queue)))
queue += 1
每次运行项目时都收到此错误
QTableWidgetItem(QTableWidgetItem): argument 1 has unexpected type 'QPushButton'
如果你参考QTableWidget
的文档,看看setItem
的方法签名:
QTableWidget.setItem (self, int row, int column, QTableWidgetItem item(
这就是您收到错误的原因。该方法期望一个QTableWidgetItem
,而你给它一个QPushButton
。
您正在寻找的方法setCellWidget
(文档(。