我有一个pyqt4设置,其中包含一个自定义小部件作为listwidget的项目。我在该自定义小部件中有两个按钮,通过将其向上或向下移动,并将其向上或向下插入。PYQT4列表项目内容在插入列表时正在消失
插入时,项目仍然突出显示,但内容已消失。
以下是移动物品的内容。
def ChangeInit(self, row, direction):
item = self.initiativeList.takeItem(row)
self.initiativeList.insertItem(row + direction, item)
行=的行的项目是在
方向= 1或-1取决于哪个按钮被按压
为什么项目出现要被移动的任何想法,但它的内容不被移动与它或至少不可见?
让我知道你是否需要更多信息。
这些应该是他们自己的对象。我有一个不同的函数,它使用我的InitCreatureObject类来创建一个对象,然后将它插入到列表中。我可以尝试删除它并插入一个新的,然后看看是否有效。看起来像很多额外的处理,只是在列表中向上或向下移动它。 – Aaranos
是的,它似乎是比必要的更多的工作。另一种选择是使用单独的模型和视图。也就是说,使用'QListView'并通过从'QAbstractListModel'继承来实现你自己的模型。这需要一些努力,但如果你不仅仅需要一个简单的列表小部件,它可能是值得的。 – titusjan
我调整了我的代码来创建一个新的项目,只是根据旧项目填写它需要的东西,这不是一个漂亮的解决方案,但它的工作原理。如果它仍然给我带来麻烦,我会研究你的其他建议。谢谢。 – Aaranos