2009-12-22 202 views
7

假设我有文件about.ui。 我怎样才能让“about.h”从我的.ui文件“about.cpp”?我也必须创建一个.moc文件吗? 我怎么能编译这个后面的creaton看看是否都正确?从.ui文件生成.h和.cpp

回答

3

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

你可能想要使用最新的Qt(4.6)太btw。

+1

链接已死亡。这就是为什么你应该在这里引用教程,同时给他们学分。 – 2015-11-27 09:00:02

3

你不知道。
的about.ui生成ui_about.h,你在你自己的about.h包括

然后,您可以创建自己的类从此类派生

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

在VS2008按照这个步骤 转到表格文件 - >添加 - >类 - > Qt4Classes-> Q4GuiClass->添加,然后 填写类名并单击完成。

6

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

+0

您的.pro文件中没有列出您的.ui文件的声音,或者您没有重新运行qmake。 – leemes 2012-07-27 19:35:12

+0

或者也许只是QtCreator糟透了,不是吗? – 2015-11-27 08:59:19

0

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

3

简短的回答:

在QtCreator有创建窗口助理形式的两种方式: - Qt设计Form类 - QtDesigner形式

,你必须创建一个新的“Qt Designer Form Type“而不是”Qt Designer Form“,因为您选择”Qt Designer Form“ qt创建者不会创建在.H和.cpp从文件的.ui:

龙答:

当您创建“QTCreator表”只有创造的.ui文件,这是有用的,如果你已经为UI的业务逻辑现有的类和您希望重新构建用户界面,但保留业务逻辑,您可以调用buttom或具有相同名称的组件并交换ui。

+0

如果我使用QtCreator创建一个类,那么它会创建myClass.ui,ui_myClass.h,MyClass.h和MyClass.cpp文件吗?我问,因为我有一个otherClass.ui文件,我想用otherClass.h和otherClass.cpp创建一个类。以前,我做过这样的事情,而且我认为我使用了QtCreator。但是,现在我不记得我是如何生成MyClass.h和MyClass的。.ui文件中的cpp文件。 – user3731622 2016-02-10 23:25:09