私のアプリケーションQGridLayoutでは、の大部分をカバーするがありWindowます。その中に、一連のQLineEdit&QLabelオブジェクトを追加しました。現在、QLineEditオブジェクトの数が500を超える場合&&QLabelオブジェクトが500を超える場合、GUIは非常に遅く、値が大きい場合は正しく動作しません。また、これらのウィジェットのほとんどはウィンドウに表示されません。表示するにはスクロールする必要があります。(ループしてループの後に呼び出すことによって)非常に多くwidgetsを追加しているので、ペイントには多くの時間がかかります。だから私は、自分が追加されたとしても、誰もがペイントされているわけではないという解決策のアイデアを持っています。すべてが描かれている内にありたいです&grid layoutrepaintwidgetsGrid Layoutrectanglewidgetsウィンドウがスクロールされるたびに、長方形の座標が更新されます。しかし、私はこれを行う方法がわかりません。だから私はそれが可能か知りたかったのですか?そして、可能であれば、それを実装する方法を理解できるように、小さなサンプルコードを追加してください。ありがとうございました。
更新:状況を描写するための画像を追加します。
Black Rectangle = QGridLayout say myGid.
Red Rectangle = Bounding Rectangle which is approximately same size as Main Window of my Application.
Green Rectangle = Widgets in myGrid.
Green Rectangle filled with yellow = Widgets shown in Main Window (これらのウィジェットのみを呼び出す必要がありますrepaint)、塗りつぶされていない残りの長方形は、に存在するウィジェットですmyGridが、への呼び出しは考慮されませんrepaint。したがって、メインアプリケーションをスクロールすると、の座標red rectangleが更新さwidgets bounded by it are considered for repaint.
れ、問題を簡単に理解できるようになります。
