s3c2410上搭建QT/Embedded4.8.5开发环境(七)--命令行开始第一个Qt程序

2019-07-13 07:10发布

前面我们已经搭建好了Qt的环境,而且也配置了QtCreate,我们可以直接很方便的使用QtCreate来编译Qt程序了, 但是我们还是增加了这个环节,用纯命令行下来构建并编译您的第一个Qt程序.对于嵌入式Linux程序员来说,会IDE不算什么,真正命令行才会让你了解您程序的每一个环境在干什么。。。 命令行方式构建Qt程序需要经历一下几个环节 ①使用QtDesigner来绘制界面,保存为***.ui ②使用uic将界面设计师***.ui转换成可以被G++编译器识别的C++程序 ③用qmake工具自动生成工程文件***.pro ④使用qmake工具自动生成Makefile ⑤使用GNUMake编译Qt程序 ⑥执行 下面开始我们的Qt探索之旅吧 我们的目标是显示一个最基本的HelloWorld对话框

构建工作目录

mkdir hello cd hello
绘制界面 ./designer-qt4


此处我们选择Dialog without Button,然后创建选择
选择一个Label,然后修改其text属性为Hello World


修改窗体过程为Hello

最后另存为,hello.ui

我们可以看到自己目录下多了一个hello.ui的程序,这就是我们刚绘制的界面

开始编写逻辑代码

Qt3以前我们所有的代码都是针对当前窗体文件的hello.ui的,需要用uic生成hello.h和hello.cpp,然后我们再在两个文件中添加必要的逻辑,或者干脆继承自这个Hello窗体,在子类中实现我们需要的功能,但是这些工序繁杂而且不容易被理解,因此Qt4抛弃了这种机制,而采用一种新的方式,下面我们就详述一下 Qt4中uic是用来将我们的QT设计师界面代码转换为C+代码的转换器,执行命令uic   hello.ui -o ui_hello.h即可将hello.ui界面文件转换为C++源程序,这个代码的窗体类Ui_Hello是在namespace Ui下的,因此我们再创建一个类Hello,然后在其中引入这个窗体类即可, Qt4这样做主要是为了实现自己的代码逻辑与Qt设计师自动的代码逻辑的分层次,不会两个代码互相参杂,互相影响
下面我们新建文件hello.h和hello.cpp,设计这个Hello类 /************************************************************************* > File Name: hello.h > Author: gatieme > Mail: gatieme@163.com > Created Time: 2014年06月17日 星期二 02时25分22秒 ************************************************************************/ #include // 引入UI的窗体 namespace Ui { class Hello; } class Hello : public QDialog { Q_OBJECT public: Hello(QDialog *parent = NULL); ~Hello( ); protected: Ui::Hello *ui; };

/************************************************************************* > File Name: hello.cpp > Author: gatieme > Mail: gatieme@163.com > Created Time: 2014年06月17日 星期二 02时27分55秒 ************************************************************************/ #include "hello.h" #include "ui_hello.h" Hello::Hello(QDialog *parent) : QDialog(parent), ui(new Ui::Hello) { ui->setupUi(this); } Hello::~Hello() { delete ui; }
接着我们需要一个main函数,新建文件main.cpp #include #include "hello.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); Hello helloDialog; helloDialog.show( ); return a.exec( ); }
下面我们开始编译,qt为我们实现了一套的编译工具,包括,项目生成,make等等

编译

首先生成项目文件, /opt/qt-4.8.5-x11/bin/qmake -project 会在目录下生成默认生成hello.pro 接着生成makefile /opt/qt-4.8.5-x11/bin/qmake 最后开始编译 make 我们的程序就被编程成了可执行文件hello ./hello