QT源程序与编译方式

来源:互联网 发布:机器人运动仿真软件 编辑:程序博客网 时间:2024/05/17 01:38

1  源程序

(1)纯代码

在QT Creator中创建一个Empty qmake project,然后*.pro文件中添加widget模块的语句如下:

greaterThan(QT_MAJOR_VERSION,4):QT += widgets
然后添加一个main.cpp

#include <QApplication>#include <QDialog>#include <QLabel>int main(int argc, char * argv[]){    QApplication a(argc, argv);    QDialog w;    w.resize(400, 300);//改变对话框大小    QLabel label(&w);    label.move(120,120);    label.setText(QObject::tr("Hello World! 你好!"));    w.show();    return a.exec();}
工程的结构如图所示

运行结果如图所示


(2)使用ui文件(利用QT设计师)

创建ui文件,使用ui界面替代有代码生成的界面。

ui界面如图所示

通过Crtl+Shift+B快捷键或者构建项目命令,构建工程,产生基于该ui文件的头文件。随后修改main.cpp文件如下


(3) 自定义C++类

自定义类也可以看到QT Creator中的设计师界面类的生成过程。

新建Empty qmake Project,然后再pro文件中添加如下语句:

greaterThan(QT_MAJOR_VERSION,4):QT += widgets
新建一个基于QDialog的类HelloDialog
main.cpp代码如下:
#include <QApplication.h>#include "hellodialog.h"int main(int argc, char * argv[]){    QApplication a(argc, argv);    HelloDialog w;    w.show();    return a.exec();}
hellodialog.h的代码如下:
#ifndef HELLODIALOG_H#define HELLODIALOG_H#include <QDialog.h>namespace Ui{class HelloDialog;}class HelloDialog : public QDialog{    Q_OBJECT;public:    explicit HelloDialog(QWidget *parent = 0);    ~HelloDialog();private:    Ui::HelloDialog *ui;};#endif // HELLODIALOG_H
hellodialog.c的代码如下:
#include "hellodialog.h"#include "ui_hellodialog.h"HelloDialog::HelloDialog(QWidget *parent):    QDialog(parent),    ui(new Ui::HelloDialog){    //ui = new Ui::HelloDialog;    ui->setupUi(this);}HelloDialog::~HelloDialog(){    delete ui;}
界面类的设置与(2)中相同,运行结果如下:


(4)QT设计师界面类

创建Qt Widgets Application工程,自动完成(3)中的操作,即Qt 设计师界面类的设置。

2 命令行编译过程

在Qt Creator中,自动完成编译之前的准备工作和编译工作,了解编译过程可以更好的了解Qt的运行机制。

第一步,将所有的ui文件,C文件,头文件拷贝的一个工程目录下

第二部,如果ui文件,则执行改步骤,使ui文件构造成头文件;否则跳过。

uic -o ui_hellodialog.h ui_hellodialog.ui
第三部,编译工程文件qro。如果需要一个模块,如widget麽魁岸,则执行该步骤后添加

qmake -project
第四步,生成make文件

qmake
第五部,编译,在window下不许确保WinGW工具已经安装。

window下命令

mingw32 -make
linux下命令

make