0

私のアプリケーションには、標準の Windows エクスプローラーに似たファイル マネージャーがあります。

構造は次のとおりです。

  • Qスクロールエリア
    • Qウィジェット
      • Eファイル
      • Eファイル
      • Eファイル

等...

各 EFile ウィジェットには、5 つの QLabel が含まれています。そのため、ファイルの数が 30 を超えると、ファイルの作成に少し時間がかかります。表示されるファイルのみを作成し、スクロール時に非表示にするか、表示されたときにサイズを変更することにしました。しかし、それは解決策ではありません-遅延は残りました(もちろん減少しましたが)。

問題は、ファイルを表示している間の遅延を取り除くために、アプリケーションをどのように変更すればよいかということです。

4

2 に答える 2

2

答えは、QLabels のカスタム ウィジェットを構成しないことです。代わりに、paint() 関数を上書きし、QPainter でテキスト/ピックスマップを描画します。それは思ったほど多くの仕事ではありません。Qtの例/チュートリアルには、そのための例がたくさんあります。

于 2012-05-03T14:00:21.243 に答える
0

それが実際に実装したいファイル エクスプローラである場合は、次の例に示すようにQFileSystemModelと を組み合わせて使用​​することを検討する必要がQTreeViewあります:
http://qt-project.org/doc/qt-4.8/qfilesystemmodel.html

これにより、多くの手間が省けます。

于 2012-05-03T14:04:07.017 に答える