每当填充显示的QBoxLayout时,随着小部件被添加到布局中,屏幕上会出现一些闪烁。如何阻止这种闪烁?
setUpdatesEnabled没有做到这一点。
答案 0 :(得分:5)
show()
小部件只有在您完成填充/铺设后才会显示。
或者在完成添加内容之前,不要将布局附加到窗口小部件。 (即只有在完成向setLayout(your_layout)
添加内容后才调用your_layout
。
或者,查看 updatesEnabled
QWidget
属性。您可以使用它暂时禁用窗口小部件的更新以防止闪烁。 (当您对基础数据进行“大量”更改时,这对于QTableWidget
等更复杂的小部件非常有用。)
来自上述文档的引用:
击><击>
setUpdatesEnabled()通常用于在短时间内禁用更新,例如在大的更改期间避免屏幕闪烁。在Qt中,窗口小部件通常不会生成屏幕闪烁,但在X11上,当窗口小部件被隐藏之前,服务器可能会擦除屏幕上的区域,然后才能被其他窗口小部件替换。禁用更新解决了这个问题。 击>