更新QTreeVi时Python崩溃

2024-05-15 01:27:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用一个qabstractemodel包装一个类,这个类本质上是一个python字典。你知道吗

项目模型就在那里,这样我就可以使用QTreeView了。你知道吗

当我创建QTreeView时,我用字典的一个实例实例化包装器,然后实例化一个ItemModel来包装它。(这个包装器的基础是:https://github.com/spanners/pyqt4-examples/blob/master/treeview.py

当我的字典发生变化时,我会发出一个信号,ItemModel会接收到这个信号。我不知道到底发生了什么变化,所以我检查了ItemModel中的节点,如果它们与字典中的不匹配,我会添加或删除节点,直到它们匹配为止。然后我发出dataChanged,根节点作为起始索引,然后在-1,-1处结束索引。你知道吗

大多数情况下,这一切都很好。你知道吗

但偶尔我会被吓到Python.exe崩溃就像我从错误的线程访问了一个小部件。你知道吗

当更新下面的模型时,如果我试图通过TreeView编辑一个值,这种情况似乎特别可能。你知道吗

当存在活动的编辑器委托时,我是否应该做些什么来确保安全地更改模型?你知道吗

我还应该注意什么其他的事情…或者有人更清楚我应该如何开始这样做吗?你知道吗


Tags: 项目实例https模型github字典节点信号

热门问题