如何在Qtdesigner中创建一个.ui文件的头文件和源文件?

8

我有一个应用程序,其中有一个mainwindow.ui文件,我在同一应用程序中创建了一个新的设计文件dialoge.ui,现在我该如何为dialoge.ui创建源文件和头文件?我正在使用QtCreater(Windows)。

我是qt的初学者,我认为应该有一种方法可以实现相同的功能,但我还没有想到。请帮帮我。谢谢。

5个回答

14

你可以从 .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

3

对于每个名为somewidget.ui的文件,在构建过程中将创建ui_somewidget.h和ui_somewidget.cpp文件。用于生成它们的工具是uic。 您需要确保将.ui文件与其他源码和头文件一起添加到项目的.pro文件中,如下所示:

 FORMS += somewidget.ui

qmake/make将自动生成和构建somewidget.ui的.cpp和.h文件。


2

您可以这样做:

将您的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。


1

我不确定我完全理解了你的问题。您在QtCreator中开发了一个应用程序,其中有2个.ui文件。您想要生成这两个文件的相应头文件/源文件。

使用QtCreator,您无需担心生成头文件。这是自动完成的。在构建阶段,会调用用户界面编译器(uic),将.xml文件转换为c++头文件。


0

除了已经正确的答案之外:在常规设置中将模式从Debug更改为Release。在我的情况下,头文件没有在Debug模式下创建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接