我正在PyQt5中创建一个应用程序,并且有一个QTableWidgetItem
,允许用户更改行的顺序:
tableWidget.verticalHeader().setSectionsMovable(True)
我已经将
onSectionMoved
插槽连接到sectionMoved
信号。如果我使用以下命令遍历onSectionMoved
内所有行中第一列的内容for row in range(tableWidget.rowCount()):
print(tableWidget.item(row, 0).text())
我仍然按旧顺序获取第一列的内容。如何获得新订单中的内容?
编辑
更明确地说:假设我有一张桌子
A AA AAA
B BB BBB
C CC CCC
现在,用户将第一行移到第二行之后:
B BB BBB
A AA AAA
C CC CCC
我的问题是,在
onSectionMoved
中进行迭代时,仍然会得到A B C而不是B AC。 最佳答案
您必须使用逻辑索引转换行:
header = tableWidget.verticalHeader()
for row in range(tableWidget.rowCount()):
print(tableWidget.item(header.logicalIndex(row), 0).text())
关于python - sectionMoved事件后如何确定QTableWidget中行的新顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41418409/