【问题标题】:PySide2 Model Contents DisappearingPySide2 模型内容消失
【发布时间】:2019-11-23 21:40:54
【问题描述】:

我想分享一个我遇到的问题的解决方案,其中QStandardItem 模型以看似随机的时间间隔被清除。

错误代码:

addr = []
while isinstance(item, QtGui.QStandardItem):
    coordinates = (item.row(), item.column())
    addr.insert(0, coordinates)
    item = item.parent()   # <--- this line is problem

gc.collect()  # triggers item deletion

通过项目父项递归,并将它们分配给变量会导致它们被标记为准备好进行垃圾回收。

【问题讨论】:

  • 如果您认为自己发现了错误,请在pyside bug tracker 上发布报告。在这里报告没有意义。
  • 对不起,我会这样做。
  • 没问题。请在您的答案中添加指向跟踪器问题的链接,因为它可能对遇到类似问题的其他人有用。
  • 不,我要再次关闭它。对不起。这肯定会在代码库中修复它,但我无法在一个简单的示例中重现它。我必须做其他事情,这是问题的真正原因,避免这样做只是回避问题。非常感谢。

标签: python-3.x pyside2


【解决方案1】:

固定密码:

请改用QModelIndexes。

index = item.index()    
addr = []
while index.isValid():
    coordinates = (index.row(), index.column())
    addr.insert(0, coordinates)
    index = index.parent()

gc.collect()  # nothing gets deleted now :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    相关资源
    最近更新 更多