モデルを遅延ロードできるようにするために、canFetchMore、hasChildren、および fetchMore を実装しました。これは非常にシンプルで、QT に基づいています: http://doc.qt.io/archives/qt-4.7/itemviews-simpletreemodel.html
私の問題は、私のアプリケーションでは、子の取得は非常に迅速な操作ではないことです。サーバー側で、子が実際に誰であるかを判断する間、数秒の遅延が発生します。
私はそれに対処する方法がわかりません。誰かがノードを展開するたびに、数秒間アプリケーションをロックすることはできません。バックグラウンドでこれを実現する方法がわかりません。サブプロセスまたはスレッドを作成して、子を取得し、クライアント側のデータ構造を更新する作業を実際に行う場合、これが正常に完了したこと (およびノードが最終的に展開すること) をモデルに伝えるにはどうすればよいでしょうか。 .
また、ノードが現在バックグラウンドでデータをロード中であることを示す方法はありますか?
これらがばかげた質問である場合は申し訳ありません.GUIプログラミングは私にとってまだ少し謎であり、QTを使用したことはありません.
記録として、私は Python を使用していますが、答えが C++ で与えられている場合、それらを理解できます。
ありがとう