发出 dataChanged 时 QTreeView 没有刷新数据

QTreeView did not refresh data when dataChanged was emitted

我有一个很奇怪的问题。谁能帮我解决这个问题?提前致谢。

我有一个 QTreeview,它显示来自套接字的数据,它使用自定义 QAbstractItemModel;当数据到达时,发出 dataChanged。在我的项目模型的数据方法中,我 qDebug 日志信息。套接字在单独的线程中运行。

奇怪的是,如果我在模型的数据方法中设置了一个断点,那么该方法就会被命中并更新 QTreeView 的一个单元格。但是如果数据方法中没有断点,该方法似乎没有被调用(没有来自 qDebug 的日志记录)并且单元格没有更新。

我猜它与线程有关,但我不知道它到底是什么。任何帮助将不胜感激。

可能您忘记更新您的 QTreeView,如果出现断点,此事件会自动发生,但如果没有它,您应该在程序中更新 QTreeView 或其父窗口小部件。

刚刚确定了问题的根源:子节点的父节点不正确。谢谢你们所有人。新年快乐!!!