【问题标题】:How to add a UI QWidget to a UI QWidget?如何将 UI QWidget 添加到 UI QWidget?
【发布时间】:2018-01-24 10:19:06
【问题描述】:

完全使用 QT Designer。我创建了一个QWidget 来封装一组控件。我现在想在QMainWindow 表单中多次使用这个QWidget

如何仅使用 QT Designer 将我的 QWidget“放入”QMainWindow

这不应该只是一个简单的拖放操作吗?我错过了什么?

【问题讨论】:

    标签: qt qwidget qt-designer


    【解决方案1】:

    你可以promote widgets

    只需使用 QtDesigner 将 QWidget 拖放到您的主窗口中。

    右键单击它并按promote to 在对话框中填写您创建的小部件的类名称(如果标题不匹配,则应自动填写相应的编辑)按addpromote

    现在构建并运行您的应用程序,您应该会看到带有控件集合的小部件。

    【讨论】:

    • 我几乎可以通过使用 (Base: QWidget, Class: Ui::MyWidget, header: ui_mywidget.h) 提升 QWidget 来实现这一点。但编译失败 - MyWidget 的自动生成类不包含预期的复制构造函数和成员函数。我假设是因为它不是生成代码中 QWidget 的子类。
    • 你能提供“你的”QWidget's 相关的控件集合吗?
    • 我不知道我有什么要提供的。 VS2015 解决方案是空的(也就是由创建 QT GUI 项目向导创建的)。 QMainWindow ui 是空的,QWidget 里面只有一个拖放的 QPushButton。从字面上看,一切都是自动生成的。
    • 也许 VS2015 解决方案是问题所在。我已经包含了 gif 它在 QtCreator 上的外观
    • Ui::MyWidget 确实不是QWidget 子类,不能用于推广。您需要为您的内部表单创建一个 Qt Designer Form Class(相对于 Qt Designer Form),以便 Qt Creator 为您创建一个包含内部表单的 QWidget 子类。推广小部件时使用 QWidget 子类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2014-12-05
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多