gpt4 book ai didi

c++ - Qt 图形被另一个遮挡,但仍然导致绘图更新

转载 作者:行者123 更新时间:2023-11-30 05:23:55 24 4
gpt4 key购买 nike

我正在使用 Qt5.6,我渲染了 QWidget 图形对象,当其他图形呈现在其他图形前面时,这似乎会触发前面图形下的图形更新。

这会产生开销,我想确定后面的图形是否完全被前面的图形遮挡,如果是,那么它应该中止绘制事件。

我认为这将是自动的并且作为 Qt 内部的一部分完成,但似乎不是。

最佳答案

每个小部件的绘制事件都来自小部件合成器,一旦合成器确定应该重新绘制一个小部件。没有办法中止它:如果事件到达,则意味着小部件必须绘制,否则您将得到视觉上未定义的结果。

默认情况下,小部件可以是透明的,小部件合成器必须按从后到前的顺序绘制整个小部件堆栈以组合它们。

任何不透明的小部件都应该设置Qt::WA_OpaquePaintEvent 属性。这将通知小部件合成器不必绘制完全隐藏在小部件后面的任何小部件。确保绘制小部件的每个像素!

关于c++ - Qt 图形被另一个遮挡,但仍然导致绘图更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com