将 QWidget 或其他 QWidget 派生控件添加到 QWindow

Posted

技术标签:

【中文标题】将 QWidget 或其他 QWidget 派生控件添加到 QWindow【英文标题】:Add QWidget or other QWidget derived controls into QWindow 【发布时间】:2016-12-07 05:07:59 【问题描述】:

QtGUIQtWidgets 在 Qt5 中已分离。

如何将QWidget 或其他QWidget 派生控件添加到QWindow

【问题讨论】:

在 pro 文件中添加 QT += 小部件并在设计器或代码中添加 QWidget。这能回答你的问题吗? 为什么不使用小部件模块中的QMainWindow。来自文档:应用程序通常将 QWidget 或 QQuickView 用于其 UI,而不是直接使用 QWindow。尽管如此,当想要将依赖关系保持在最低限度或想要直接使用 OpenGL 时,仍然可以使用 QBackingStore 或 QOpenGLContext 直接渲染到 QWindow。 Raster Window Example 和 OpenGL Window Example 是关于如何使用任一方法渲染到 QWindow 的有用参考示例。 【参考方案1】:

QWindow 不应该以这种方式使用。您不需要直接使用QWindow,而是需要QWidget。默认情况下,无父QWidget 成为***窗口。

如果您有特殊原因使用QWindow,则必须编辑您的问题以提供有关您的设计的详细信息;很可能您的设计不正确。

【讨论】:

以上是关于将 QWidget 或其他 QWidget 派生控件添加到 QWindow的主要内容,如果未能解决你的问题,请参考以下文章

如果在派生的 QWidget 中加载 QUiLoader 小部件不显示

漫谈QWidget及其派生类(三)

QWidget 派生类不可见

QT编程,如何把自定义的QWidget的一个派生类放入Qlayout中,不能显示了。

CSS 样式表不适用于自定义 QWidget

如何将QWidget的背景放在QGridLayout中的其他小部件下