越来越多这似乎是一个哲学上的Qt
问题:
我有一个代表窗口A
的小部件。
我有一个表示窗口的窗口小部件,源自A
,名为B
。
B绘制它的东西,但我希望A
贡献一些绘图,例如。绘制图像超过B
绘制的图像。我希望B
完全没有意识到这一点,除了从A
派生之外,不必与{{1}}合作。
这可能吗?
答案 0 :(得分:0)
我不是QT专家,但是您可以通过让A委托将其绘图添加到位于(0,0)的相同大小的子组件,以一种hacky方式执行此操作。当然,子组件将在层次结构中的窗口小部件之后绘制,因此这将实现您所追求的目标。
答案 1 :(得分:0)
在A:
中覆盖event()
bool A::event ( QEvent * e)
{
bool handled = QWidget::event(e);
if(e->type() == QEvent::Paint) {
// cast e to QPaintEvent and do the overlay painting
}
return handled;
}