PySide2模型内容消失

问题描述 投票:0回答:1

[我想为我遇到的一个问题提供一个解决方案,其中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

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

python-3.x pyside2
1个回答
0
投票

固定代码:

改为使用QModelIndex es。

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 :)
© www.soinside.com 2019 - 2024. All rights reserved.