我有两个小部件,A
和 B
,A
的父级是 B
。
在 A
小部件内,我有一个计时器来触发其自身的重绘槽。这样,widget A的paintEvent
就被触发了。但是,我发现B
的paintEvent
也被触发了。我怎么能只触发 A
的 paintevet?
我已尝试接受 A
的 paintEvent
作为:
void A::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
paintA();
event->accept();
}
但这并没有帮助。我该怎么办?
最佳答案
当一个小部件被发送一个绘画事件时,它的所有启用的 child 也是如此。您可以通过在子部件上安装事件过滤器并丢弃任何您不想要的绘制事件来解决此问题。
关于c++ - 如何阻止绘画事件传播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29492542/