PySide2 模型内容消失



我想分享一个解决方案,以解决我遇到的一个问题,即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

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

固定代码:

请改用 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 :)

最新更新