我有一个应用程序,其中有一个mainwindow.ui文件,我在同一应用程序中创建了一个新的设计文件dialoge.ui,现在我该如何为dialoge.ui创建源文件和头文件?我正在使用QtCreater(Windows)。
我是qt的初学者,我认为应该有一种方法可以实现相同的功能,但我还没有想到。请帮帮我。谢谢。
我有一个应用程序,其中有一个mainwindow.ui文件,我在同一应用程序中创建了一个新的设计文件dialoge.ui,现在我该如何为dialoge.ui创建源文件和头文件?我正在使用QtCreater(Windows)。
我是qt的初学者,我认为应该有一种方法可以实现相同的功能,但我还没有想到。请帮帮我。谢谢。
你可以从 .ui 文件外部创建 source 和 header 文件,然后将它们导入到你的应用程序中(不要忘记在 .pro 文件中引用它们)。创建一个可执行文件(.bat 或 .exe),以执行以下命令。下面是 shell 脚本(我是一个 Linux 用户)。
echo HEADERS
<path to your uic compiler>/uic -o form.h form.ui
echo SOURCES
<path to your uic compiler>/uic -i form.h -o form.cpp form.ui
对于每个名为somewidget.ui的文件,在构建过程中将创建ui_somewidget.h和ui_somewidget.cpp文件。用于生成它们的工具是uic。 您需要确保将.ui文件与其他源码和头文件一起添加到项目的.pro文件中,如下所示:
FORMS += somewidget.ui
qmake/make将自动生成和构建somewidget.ui的.cpp和.h文件。
您可以这样做:
将您的dialoge.ui文件保存在一个目录中。 使用qmake创建.pro文件(qmake -project),qmake足够聪明以检测到.ui文件。 这也将生成适当的makefile规则来调用uic,Qt的用户界面编译器。 如果您正在使用Visual Studio,则可以调用qmake -tp vc,这将生成一个Visual Studio项目,已链接并准备好使用。 Visual Studio项目将为您生成一个ui_dialoge.h文件,您可以将其复制到另一个项目中,并在另一个头文件中使用它,该头文件将使用此dialoge.ui。
我不确定我完全理解了你的问题。您在QtCreator中开发了一个应用程序,其中有2个.ui文件。您想要生成这两个文件的相应头文件/源文件。
使用QtCreator,您无需担心生成头文件。这是自动完成的。在构建阶段,会调用用户界面编译器(uic)
,将.xml文件转换为c++头文件。
除了已经正确的答案之外:在常规设置中将模式从Debug更改为Release。在我的情况下,头文件没有在Debug模式下创建。