PYQT4 列表项内容在插入回列表时消失
PYQT4 List item contents are disappearing when inserting it back into the list
我有一个 pyqt4 设置,其中有一个自定义小部件作为列表小部件的项目。我在那个自定义小部件中有两个按钮,可以通过将其向上或向下插入 1 或 1 来将其向上或向下移动到列表中。
插入后项目仍然突出显示,但内容消失了。
这是移动物品的原因。
def ChangeInit(self, row, direction):
item = self.initiativeList.takeItem(row)
self.initiativeList.insertItem(row + direction, item)
行 = 项目所在的行
direction = 1 或 -1 取决于按下哪个按钮
为什么项目看起来被移动了,但其中的内容却没有随之移动或至少不可见?有什么想法吗?
如果您需要更多信息,请告诉我。
documentation of QListWidget.addItem
状态:
Warning: A QListWidgetItem can only be added to a QListWidget once. Adding the same QListWidgetItem multiple times to a QListWidget will result in undefined behavior.
虽然这可以用不止一种方式来解释(即同时多次添加一个小部件,或者像您一样按顺序添加)我建议您创建一个全新的 QListWidgetItem
对象并插入 that 在列表中,只是为了确定。否则我不知道 Qt 是否会正确处理底层索引。
P.S。下次我会添加一般的 PyQt
标签,除非它是特定于 PyQt4 的问题。这可能会让您获得更多观看次数(23 小时后您现在只有两次)。
我有一个 pyqt4 设置,其中有一个自定义小部件作为列表小部件的项目。我在那个自定义小部件中有两个按钮,可以通过将其向上或向下插入 1 或 1 来将其向上或向下移动到列表中。
插入后项目仍然突出显示,但内容消失了。
这是移动物品的原因。
def ChangeInit(self, row, direction):
item = self.initiativeList.takeItem(row)
self.initiativeList.insertItem(row + direction, item)
行 = 项目所在的行
direction = 1 或 -1 取决于按下哪个按钮
为什么项目看起来被移动了,但其中的内容却没有随之移动或至少不可见?有什么想法吗?
如果您需要更多信息,请告诉我。
documentation of QListWidget.addItem
状态:
Warning: A QListWidgetItem can only be added to a QListWidget once. Adding the same QListWidgetItem multiple times to a QListWidget will result in undefined behavior.
虽然这可以用不止一种方式来解释(即同时多次添加一个小部件,或者像您一样按顺序添加)我建议您创建一个全新的 QListWidgetItem
对象并插入 that 在列表中,只是为了确定。否则我不知道 Qt 是否会正确处理底层索引。
P.S。下次我会添加一般的 PyQt
标签,除非它是特定于 PyQt4 的问题。这可能会让您获得更多观看次数(23 小时后您现在只有两次)。