【发布时间】:2018-05-07 17:46:40
【问题描述】:
我正在使用 DirectX 渲染到我的 QT 窗口,在我开始添加控件之前效果很好。然后当 directx 覆盖它们时它们会闪烁。 winforms 中的解决方案是在表单的 OnPaintBackground 中进行渲染,但我在 QT 中没有找到等价物。有没有类似的方法或者可以以更好的方式完成?
我正在考虑渲染为纹理,然后以某种方式将其转换为像素图,然后我在paintEvent() 中进行绘制。
能够将按钮、面板和其他控件放置在正在呈现的内容之上(实时)对我来说很重要。
编辑。
Sergio Monteleone 的回答几乎有效,控件上的闪烁消失了。我在代码中更改了控件的父级并将其设置为主窗口而不是 QFrame。但是现在如果我在控件之间快速移动鼠标,我会在控件之间得到一个奇怪的灰色框。
PushButton 后面和 GroupBox 上方的灰色矩形仅在几分之一秒内可见。知道这是为什么吗?
编辑 2.
我改变了问题的主题来描述实际问题,而不是一个解决方案。
【问题讨论】:
标签: c++ qt qt5 directx-11