c++ - 如何阻止绘画事件传播?

标签 c++ qt

我有两个小部件,ABA 的父级是 B

A 小部件内,我有一个计时器来触发其自身的重绘槽。这样,widget A的paintEvent就被触发了。但是,我发现BpaintEvent也被触发了。我怎么能只触发 A 的 paintevet?

我已尝试接受 ApaintEvent 作为:

void A::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);
    paintA();
    event->accept();
}

但这并没有帮助。我该怎么办?

最佳答案

当一个小部件被发送一个绘画事件时,它的所有启用的 child 也是如此。您可以通过在子部件上安装事件过滤器并丢弃任何您不想要的绘制事件来解决此问题。

关于c++ - 如何阻止绘画事件传播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29492542/

相关文章:

c++ - 如何在滚动区动态插入项目并在Qt中加载滚动条?

c++ - QT 选项卡小部件 - 焦点上的选项卡文本行为

python - 如何在使用 .model 时将拇指或图标分配给 QListView 项目

c++ - C++标点符号的使用逻辑是什么?

image - Qt jpeg 无法在我 friend 的电脑上运行

c++ - Qt/mingw32 undefined reference 错误...无法链接.lib

c++ - Eclipse CDT 顾问中的奇怪输出

c++ - 如何访问其中有一对的 map

c++ - 不确定如何将 opencv 库添加到 CMakeLists.txt

c++ - 按位比较