私の素晴らしいスクロールウィジェットの父となるQScrollAreaがあります。いろいろな場面で内容を更新していきたいです。
このために、のオーバーライドを行いましたpaintEvent(QPaintEvent *)。その後、それを実行したいときはいつでもupdate()、ウィジェットを呼び出します。
問題: paintEvent()これによって呼び出されることはありません!
これまでのトラブルシューティングで試したこと:
repaint()の代わりに使用してくださいupdate()。すぐに呼び出す必要があります。残念ながらそうではありません。isVisible()とのテストupdatesEnabled- オーバーライドが正しいかどうかをテストします。ウィンドウのサイズを変更すると、関数が呼び出されます。手動のupdate()、repaint()呼び出しのみが失敗します。
- QTimerを実装して、500ミリ秒ごとにupdate()またはrepaint()をトリガーします。トリガーはテキスト出力を提供し、関数は呼び出されません。
誰かが次に何をチェックするべきか考えましたか?repaint()がpaintEvent()を呼び出さないようにするにはどうすればよいですか?