我需要将 QTableWidget 的第一列填充为: Row: 1, Row: 2...Row: 100 ,但排序不能按预期工作(数字上)。使用此代码排序工作正常,但我没有得到预期的文本:
for i in range(0, self.rows):
item = QtGui.QTableWidgetItem()
item.setData(Qt.DisplayRole, "Row: %s" %(i) )
item.setData(Qt.EditRole, i)
self.ui.tableWidget.setItem(i, 0, item)
我得到:1,2,3,4... 而不是 Row: 1, Row: 2, Row: 3... 我希望 EditRole 将用于编辑目的(用于数字排序,效果很好)但我还期望显示文本,因为它是使用 DisplayRole 设置的。我可以以某种方式做到这一点,或者为排序目的编写函数是唯一的方法吗?