PyQT QtGui.QTableWidgetItem使用方法
我有一个 QtGui.QTableWidgetItem
,我通过下面的 createRow
函数把它添加到了一个表格里:
def createRow(self, listA):
rowNum = self.table.rowCount()
self.table.insertRow(rowNum)
i = 0
for val in listA:
self.table.setItem(rowNum, i, QtGui.QTableWidgetItem(val))
i += 1
现在我有一个线程,它会定期更新行的值。线程调用的函数如下:
def updateRow(self, listB):
row = 0
numRows = self.table.rowCount()
i = 0
while i < numRows:
if listB[0] == self.table.item(i,0):
row = i
i+=1
j = 0
for val in listB:
self.table.setItem(row, j, QtGui.QTableWidgetItem(val))
j += 1
不过,这个方法不太奏效,因为 listB[0]
是一个字符串,而 self.table.item(i,0)
是一个 QTableWidgetItem
。有没有人知道我该怎么解决这个问题?
最后,我想做的就是更新这个函数输入的列表中第一个项目匹配的行(listB
)。
1 个回答
5
使用 QTableWidgetItem.text(self)
(也就是说:self.table.item(i,0).text()
)来获取一个单元格或 QTableWidgetItem 的内容。