【问题标题】:Generate .h and .cpp from .ui file从 .ui 文件生成 .h 和 .cpp
【发布时间】:2010-12-29 05:22:31
【问题描述】:

假设我有文件 about.ui。 如何从我的 .ui 文件中生成 "about.h""about.cpp"?我也必须创建一个 .moc 文件吗? 我怎样才能在创建之后编译这个以查看是否一切都正确发生?

【问题讨论】:

    标签: qt qt-creator qt-designer qt3


    【解决方案1】:

    如果自动生成不起作用(如我的情况),您可以使用 uic 手动生成头文件。 uic file.ui > file.h

    【讨论】:

    • 听起来你的 .ui 文件没有在你的 .pro 文件中列出,或者你没有重新运行 qmake。
    • 或者只是 QtCreator 很烂,不是吗?
    【解决方案2】:

    你没有。
    about.ui 生成一个 ui_about.h,您将其包含在您自己的 about.h 中

    然后你创建你自己的类,派生自这个类

    class about :   public QDialog, public Ui::about
    {
        Q_OBJECT;
    ....
    }
    

    【讨论】:

      【解决方案3】:

      简答:

      在 QtCreator 中,有两种从 windows 助手创建表单的方法: - Qt Designer 表单类 - QtDesigner 表单

      您必须创建一个新的“Qt Designer Form Class”而不是“Qt Designer Form”,因为您选择了“Qt Designer Form” qt creator 不会从 .ui 文件创建 .h 和 .cpp:

      长答案:

      当您创建“QTCreator 表单”时,仅创建 .ui 文件,如果您已经有一个现有的 UI 业务逻辑类并且您想要重建用户界面但保留业务逻辑,则这很有用,您可以调用按钮或具有相同名称的组件和交换 ui。

      【讨论】:

      • 如果我使用 QtCreator 创建一个类,那么它会创建 myClass.ui、ui_myClass.h、MyClass.h 和 MyClass.cpp 文件吗?我问是因为我有一个 otherClass.ui 文件,我想用 otherClass.h 和 otherClass.cpp 创建一个类。以前我做过这样的事情,我想我用的是QtCreator。但是,我现在不记得我是如何从 .ui 文件生成 MyClass.h 和 MyClass.cpp 文件的。
      【解决方案4】:

      QMake(实际上是 uic)会自动生成一个 ui_about.h 文件,您可以使用它来制作 about.cpp(只要确保正确获取 .pro 文件)。这是tutorial

      顺便说一句,您可能也想使用最新的 Qt (4.6)。

      【讨论】:

      • 链接已失效。这就是为什么你应该在这里引用教程,同时给予他们学分。
      【解决方案5】:

      IN VS2008 按照这个步骤 转到 Form Files->Add->Class->Qt4Classes->Q4GuiClass->Add ,然后 填写类名,点击完成。

      【讨论】:

        【解决方案6】:

        如果您在windows中使用qt creator,只需右键单击您的项目,然后单击执行qmake,它将生成一个ui_xxx.h,您可以在文件中添加#include ui_xxx.h

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多