私のアプリケーションQGridLayout
では、の大部分をカバーするがありWindow
ます。その中に、一連のQLineEdit
&QLabel
オブジェクトを追加しました。現在、QLineEdit
オブジェクトの数が500を超える場合&&QLabel
オブジェクトが500を超える場合、GUI
は非常に遅く、値が大きい場合は正しく動作しません。また、これらのウィジェットのほとんどはウィンドウに表示されません。表示するにはスクロールする必要があります。(ループしてループの後に呼び出すことによって)非常に多くwidgets
を追加しているので、ペイントには多くの時間がかかります。だから私は、自分が追加されたとしても、誰もがペイントされているわけではないという解決策のアイデアを持っています。すべてが描かれている内にありたいです&grid layout
repaint
widgets
Grid Layout
rectangle
widgets
ウィンドウがスクロールされるたびに、長方形の座標が更新されます。しかし、私はこれを行う方法がわかりません。だから私はそれが可能か知りたかったのですか?そして、可能であれば、それを実装する方法を理解できるように、小さなサンプルコードを追加してください。ありがとうございました。
更新:状況を描写するための画像を追加します。
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.
れ、問題を簡単に理解できるようになります。