表示されたQBoxLayoutが入力されるたびに、レイアウトにウィジェットが追加されると、画面にちらつきが表示されます。このフリッカーをどうやって止めるのですか?QBoxLayoutでちらつきを減らす
setUpdatesEnabledはこのトリックを行いませんでした。
表示されたQBoxLayoutが入力されるたびに、レイアウトにウィジェットが追加されると、画面にちらつきが表示されます。このフリッカーをどうやって止めるのですか?QBoxLayoutでちらつきを減らす
setUpdatesEnabledはこのトリックを行いませんでした。
show()
あなたが作成/レイアウトするのを終えた後にのみ、ウィジェットが表示されます。
また、ウィジェットを追加する前に、そのウィジェットにレイアウトを添付しないでください。 (つまり、your_layout
に物事を追加し終えたら、setLayout(your_layout)
に電話するだけです)。
また、
updatesEnabled
QWidget
のプロパティを調べてください。ウィジェットの更新を一時的に無効にして、ちらつきを防ぐことができます。 (あなたは基礎となるデータに「大規模な」変更を行っているとき、これは
QTableWidget
と似たような、より複雑なウィジェットに最も有用である。)上記のdocから
引用:
setUpdatesEnabled()が正常に使用されています大きな変更中に画面がちらつくのを防ぐなど、短時間の更新を無効にすることができます。 Qtでは、ウィジェットは通常画面のちらつきを生成しませんが、X11では、ウィジェットが他のウィジェットに置き換えられる前にウィジェットが非表示になると、画面上の領域が消去されることがあります。更新を無効にするとこれが解決されます。
レイアウトはどのようにウィジェットにアタッチできますか? – Olumide
'setLayout'を使用しています。 – Mat