PyQt4用小部件移动QTableWidget行

2024-09-30 12:32:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PyQt4应用程序中有以下方法。r2是要移动的行数,r1是应该移动的位置。澄清一下:表中填充的是cellWidgets,而不是widgetItems。在

def move_row(self, r1, r2):
    tt = self.tableWidget
    tt.insertRow(r1)
    for c in range(tt.columnCount()):
        tt.setCellWidget(r1, c, tt.cellWidget(r2 + 1, c))
    tt.removeRow(r2 + 1) # <--- ???

如果我注释掉最后一行,它的行为与预期一样:新行被插入到位置r1,它填充了来自r2的小部件(现在是r2+1),而r2+1行是空的。如果我甚至隐藏了这一行,它的行为会很好,尽管这不是我想要的(我已经对行进行了编号,我不希望这个隐藏的行占用这个数字)。 但是如果我删除该行,它最初拥有的小部件就会消失。看起来他们的所有权是在第一次安置时取得的,而且在搬家后没有改变。在

有什么想法吗?在


Tags: 方法self应用程序move部件defrowr2

热门问题