我已经实现了 canFetchMore、hasChildren 和 fetchMore,以允许我的模型延迟加载。它非常简单并且基于 QT:http ://doc.qt.io/archives/qt-4.7/itemviews-simpletreemodel.html
我的问题是,在我的应用程序中获取孩子不是一个非常快速的操作,它涉及服务器端的几秒钟延迟,同时它会计算出孩子实际上是谁。
我不确定如何处理。每次有人扩展节点时,我都无法让我的应用程序锁定几秒钟。我不知道如何在后台发生这种情况。如果我要创建一个子进程或线程来实际完成检索子进程和更新客户端数据结构的工作,我将如何告诉模型这已成功完成(以及节点最终扩展) .
另外,有没有办法显示节点当前正在后台加载数据?
抱歉,如果这些是愚蠢的问题,GUI 编程对我来说仍然有点神秘,而且我以前从未使用过 QT。
作为记录,我使用的是 Python,但如果用 C++ 给出答案,我可以理解它们。
谢谢