我在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行是空的。如果我甚至隐藏了这一行,它的行为会很好,尽管这不是我想要的(我已经对行进行了编号,我不希望这个隐藏的行占用这个数字)。 但是如果我删除该行,它最初拥有的小部件就会消失。看起来他们的所有权是在第一次安置时取得的,而且在搬家后没有改变。在
有什么想法吗?在
我最终还是复制了widgets值。在
相关问题 更多 >
编程相关推荐