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