Qt Designer为程序员提供了可视化的设计能力,可用于开发应用程序中的所有或者部分窗体。交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。
本文在移植好了Qt交叉编译环境和移植环境的基础上,对qt Designer与手工代码整合的方式做以下说明。(并不涉及qt Designer的操作)
在终端中输入:Designer。就会出现qt设计师的界面。我们默认创建一个。并稍微加上一些控件,最终效果如图。
我们将其保存为hello.ui.比如保存到/home目录下,那么我们在/home目录创建一个main.cpp文件,代码如下:
- #include <QApplication>
- #include <QDialog>
- #include "ui_hello.h" #注意这里一定要和ui文件的名称对应,会自动生成ui_hello.h文件
- int main(int argc ,char *argv[])
- {
- QApplication app(argc,argv);
- Ui::GoToCellDialog ui;
- QDialog *dialog = new QDialog;
- ui.setupUi(dialog);
- dialog->show();
- return app.exec();
- }
完成之后,我们在终端中进入/home目录,执行:
- qte-x86-make -project
会发现在当前目录生成了一个qt.pro文件。
继续执行
- qte-x86-make qt.pro
会发现在当前目录生成了Makfile,继续执行make即可生成可执行文件hello。最终生成如图这些文件。
在终端中执行:qvfb & 继续执行:./qt -qws。效果如下:
那么我们使用qte-arm-make,照着上面的步骤生成的可执行文件也可以在mini2440的linux环境中执行,效果和上图一样。
原理:实际上,qmake工具会自动检测用户界面文件hello.ui,并且可以生成适当的makefile规则来调用Qt的用户界面编译器UIC。UIC工具会将hello.ui文件转换成C++并且将转换结果存储在ui_hello.h文件中。ui_hello.h包好了图形资源的一些定义。
以上内容讲述的是如何使用Qt Designer快速开发交叉编译环境下以及mini2440的QT程序的界面窗体,不过实现对效果还是蛮好的,希望能帮助你解决问题。
【编辑推荐】