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

前面我们已经搭建好了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  

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

此处我们选择Dialog without Button,然后创建选择

选择一个Label,然后修改其text属性为Hello World



修改窗体过程为Hello


最后另存为,hello.ui
s3c2410上搭建QT/Embedded4.8.5开发环境(七)--命令行开始第一个Qt程序_第2张图片

我们可以看到自己目录下多了一个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: [email protected] 
    > Created Time: 2014年06月17日 星期二 02时25分22秒
 ************************************************************************/

#include <QDialog>

// 引入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: [email protected] 
    > 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 <QApplication>
#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


你可能感兴趣的:(s3c2410上搭建QT/Embedded4.8.5开发环境(七)--命令行开始第一个Qt程序)