【发布时间】:2011-02-17 00:14:05
【问题描述】:
我需要在我的 Qt 应用程序中进行一些特定于平台的绘图,所以我想在我的 Qt Widget 中添加一个 Windows 子窗口。我调用 CreateWindowEx 并将 effectiveWinId() 作为父级传递。子窗口创建成功。但是,我的 Qt 应用程序中的绘图停止工作。小部件将不再重新绘制。
有没有办法做到这一点? Qt 3 中有 QWinHost,但 Qt 4 中似乎没有。
【问题讨论】:
我需要在我的 Qt 应用程序中进行一些特定于平台的绘图,所以我想在我的 Qt Widget 中添加一个 Windows 子窗口。我调用 CreateWindowEx 并将 effectiveWinId() 作为父级传递。子窗口创建成功。但是,我的 Qt 应用程序中的绘图停止工作。小部件将不再重新绘制。
有没有办法做到这一点? Qt 3 中有 QWinHost,但 Qt 4 中似乎没有。
【问题讨论】:
通常必须覆盖paintEvent(QPaintEvent*)
还可以设置 setAttribute(Qt::WA_PaintOnScreen,true);告诉 Qt 不要打扰绘图。
【讨论】: