在QT/Python的tableWidget中添加字符串项
我有一个字符串数组,我想把每个字符串放在一个表格的不同的行,但同一列里。
我正在使用 setItem
函数来修改想要的单元格,但我遇到了一个错误:QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str'
。我查了一下,发现我需要用 QTableWidgetItem
函数(这里)把字符串转换成 tableWidgetItem
,但是我不知道怎么用这个函数,也不太明白“类型”(那个整数值)是什么意思。
如果能给我一个具体的例子,教我怎么用这个函数把字符串转换成 tableWidgetItem
,那就太好了。
到目前为止,我的代码是这样的:
pc = 2
i = 0
while i <= pc:
self.tableWidget.insertRow(i)
self.tableWidget.setItem(i, 0, parameter[i])
i += 1
如果有人能告诉我有没有比 setItem
更好的方法来把字符串添加到 tableWidget
,那也会很有帮助。
2 个回答
0
你会遇到这个错误是因为setItem的第三个参数需要的是QTableWidgetItem*类型的输入。试试这个
pc = 2
self.tableWidget.setRowCount(pc)
i = 0
while i <= pc:
self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
i += 1
6
QTableWidgetItem 的构造函数可以接受一个字符串作为参数。在你的例子中,你只需要把第五行改成这样(假设 parameter
是一个字符串列表)
self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))