2012-05-03 20 views
0

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

構造は以下の通りである:

  • QScrollArea
    • QWidgetの
      • EFile
      • EFile
      • EFile

など...

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

問題は、ファイルの表示中に遅延を取り除くためにアプリケーションを変更する必要があるかどうかです。

答えて

2

答えは、QLabelsのカスタムウィジェットを作成しないということです。代わりにpaint()関数を上書きし、QPainterでtext/pixmapsを描画します。それはそれが聞こえるほど多くの仕事ではありません。 Qtの例/チュートリアルにはたくさんの例があります。ここで例に示すように

+0

このようなサウンドは、私が探していたものです。ありがとう、私はそれを試してみましょう。 – Eddie

0

それは本当にあなたが実装したいファイルエクスプローラの場合は、QTreeViewと組み合わせてQFileSystemModelを使用して検討する必要があります。これはあなたに多くの困難を救うます
http://qt-project.org/doc/qt-4.8/qfilesystemmodel.html

+0

ローカルファイルでのみ動作します。私も遠方にいる) – Eddie

関連する問題