2011-05-16 15 views
2

表示されたQBoxLayoutが入力されるたびに、レイアウトにウィジェットが追加されると、画面にちらつきが表示されます。このフリッカーをどうやって止めるのですか?QBoxLayoutでちらつきを減らす

setUpdatesEnabledはこのトリックを行いませんでした。

答えて

5

show()あなたが作成/レイアウトするのを終えた後にのみ、ウィジェットが表示されます。

また、ウィジェットを追加する前に、そのウィジェットにレイアウトを添付しないでください。 (つまり、your_layoutに物事を追加し終えたら、setLayout(your_layout)に電話するだけです)。

また、 updatesEnabled QWidgetのプロパティを調べてください。ウィジェットの更新を一時的に無効にして、ちらつきを防ぐことができます。 (あなたは基礎となるデータに「大規模な」変更を行っているとき、これは QTableWidgetと似たような、より複雑なウィジェットに最も有用である。)上記のdocから

引用:

setUpdatesEnabled

()が正常に使用されています大きな変更中に画面がちらつくのを防ぐなど、短時間の更新を無効にすることができます。 Qtでは、ウィジェットは通常画面のちらつきを生成しませんが、X11では、ウィジェットが他のウィジェットに置き換えられる前にウィジェットが非表示になると、画面上の領域が消去されることがあります。更新を無効にするとこれが解決されます。

+0

レイアウトはどのようにウィジェットにアタッチできますか? – Olumide

+0

'setLayout'を使用しています。 – Mat

関連する問題