Проблема в том, что поскольку объект SimpleTreeView не назначен переменной, он уничтожается, что можно проверить с помощью сигнала destroyed
.
class SimpleTreeView(QStandardItemModel):
def __init__(self, parent=None):
super().__init__(parent)
<b>self.destroyed.connect(lambda o : print("destroyed:", o))</b>
# ...
Вывод:
destroyed: <PySide2.QtCore.QObject(0x56377cf050f0) at 0x7ffa20deac40>
Решение состоит в том, чтобы присвоить переменную этому объекту, чтобы жизненный цикл был больше:
qmlFile = join(dirname(__file__), 'main.qml')
<b>model = SimpleTreeView()</b>
engine.rootContext().setContextProperty("simpleModel", <b>model</b>)
# ...