我正在尝试在我的 QTableWidget 中插入和显示整数。他们不显示。如果我将所有内容都转换为字符串,它会起作用,但是我不能对列进行数字排序——只能按词法(1、10、100 等)排序。这是使用 PyQt。
我已经尝试了一些建议的解决方案,使用 QTableWidgetItem.setData(someRole,intValue), bu 然后什么都没有显示。我试过 Qt.UserRole、DisplayRole 和 Edit Role。(我不明白为什么需要这些角色来显示整数,但只是按照示例进行操作)。我的具体代码是:
item = QTableWidgetItem()
item.setData = (Qt.DisplayRole,intValue)
myTable.setItem(row, column, item)
以下代码有效,但仅适用于字符串:
item = QTableWidgetItem(str(intValue))
myTable.setItem(row, column, item)
此外,回读数据的建议仅显示对象位置,而不是实际数据。例如,使用 Eric 作为解释器外壳:
item.data(Qt.DisplayRole)
响应: PyQt4.QtCore.QVariant 对象位于 0x1f01fa60
或这个:
item.data(Qt.EditRole).data()
响应:0x1e904a80 处的 sip.voidptr 对象
任何见解都值得赞赏。