1

Qt Creatorのように、さまざまなものをドロップできるものを作成しようとしています(いいえ、新しいものを作成したくありませんが、その機能が必要です)。いくつかの要素をドラッグして、tabPaneの任意の場所にドロップします。私の問題は、バックグラウンドでグリッド/ラスターを作成する方法です。これは次のようになります。

http://i.stack.imgur.com/QOA4K.png

私は背景のそれらの点を意味します。2つのforループで作成すると、数時間かかり、効率的ではありません。より効率的な解決策とはるかに簡単な解決策が必要です。

QtをフレームワークとしてC++でプログラミングしています。リンクなど、使えるものを教えてください。

4

1 に答える 1

1

あなたはできる:

  • QWidget::paintEventドキュメントで説明されているように、実際に更新する必要がある領域に再描画を制限します。
  • QPointポイントを描画する代わりにループ内のコンテナを塗りつぶし、QPainter::drawPointsループの後にすべてを描画します。
  • 結果を透過性でキャッシュしQPixmap、ウィンドウ サイズが変更されていない場合は再利用します ( Qt Quaterly の例)。

もちろん、これらの最適化のいずれかを実行することによって何かが得られるかどうかを確認するために、いくつかのテストを行う必要があります。

于 2011-11-04T11:01:22.503 に答える