#include
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QLabel*label=new QLabel("Hello world!
");
label->show();
return app.exec();
}
按下菜单Build=>Run编译运行
---------------------------------------------------华丽的分割线-------------------------------------------------
2.debug和release
让我们打开文件夹D:
\QT\Sample\看看吧
除了工程文件hello.pro和源文件main.cpp,又多了好多文件和文件夹
这些都是临时文件和编译文件,试一下,删除这些文件和活页夹
只留下两个hello.pro和main.cpp
打开QT Creator,选择菜单File=>Open FileorProject
选择hello.pro文件,打开
然后编译运行,又出现了一大堆文件
其中还有两文件夹debug和release
打开文件夹debug,你会发现hello.exe和main.o
而release文件夹中是空的
选择菜单Build => SetBuildConfiguration 子菜单有debug和release
这是两种编译模式,点选release再编译,就会在release文件夹中产生编译后的文件
你会发现release比debug文件更小,
因为debug中包含了除错调试代码,而release没有
当你的程序正式发布的时候,需要选择release
---------------------------------------------------华丽的分割线-------------------------------------------------
3.最简单的Dialog程序
以前学VC的时候就是从对话框程序开始的,
现在QTCreator一切照旧,继续
新建一個空工程
File=>NewFileor Project.=>Projects=>EmptyQT4 Project
Name为mydlg
Createin为D:
\QT\sample\
右键工程名mydlg,选择菜单AddNew
选择C++=>C++SourceFile,命名为main.cpp
这里因为要建立一个对话框
所以需要建一个对话框类以及资源文件ui,就像VC中的rc
再添加一个C++源文件和一个头文件,操作如下
AddNew=>C++=>C++SourceFile,命名为Dialog.cpp
Add New=>C++=> C++Header File,命名为Dialog.h
再添加一个资源文件ui
AddNew=>QT=>QtDesigner Form,这里选择一个样色
习惯VC6的朋友可以选择templates\form =>Dialog withButtons Right
在下放选择EmbeddedDesign,我们选择默认选项
这里新手有空可以每种样色都玩一玩
然后Next, 命名为Dialog.ui保存
OK,文件建好了,开始写入代码吧
打开mydlg.pro,写入以下代码
TARGET=mydlg
TEMPLATE= app
SOURCES+=main.cpp \
dialog.cpp
HEADERS+=dialog.h
FORMS+=dialog.ui
这里如果一种类型有多个文件,可以用斜杠换行隔开
打开各Dialog.h输入代码如下
#ifndef DIALOG_H
#defineDIALOG_H
#include<QDialog>
namespaceUi
{
classDialog;
}
classDialog:
publicQDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent=0);
~Dialog();
protected:
voidchangeEvent(QEvent*e);
private:
Ui:
:
Dialog*ui;
};
#endif //DIALOG_H
打开Dialog输入代码如下
#include"dialog.h"
#include"ui_dialog.h"
Dialog:
:
Dialog(QWidget *parent) :
QDialog(parent),
ui(newUi:
:
Dialog)
{
ui->setupUi(this);
}
Dialog:
:
~Dialog()
{
delete ui;
}
voidDialog:
:
changeEvent(QEvent*e)
{
QDialog:
:
changeEvent(e);
switch (e->type()){
case QEvent:
:
LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
打开main.cpp输入代码如下
#include<QtGui/QApplication>
#include"dialog.h"
intmain(intargc,char*argv[])
{
QApplicationa(argc,argv);
Dialogw;
w.show();
returna.exec();
}
此时Build=>Run会看到一个简单的窗口
如何在其上面做动作呢?
OK,我们再来
打开Dialog.ui
拖一个PushButton,放于窗口上,右键它,选择菜单Goto slot
这时会弹出一个对话框,选择Clicked(),按下OK
这时会自动写入一个成员函数到Dialog类
如下
voidDialog:
:
on_pushButton_clicked()
{
}
在其中写入代码,如下
voidDialog:
:
on_pushButton_clicked()
{
QMessageBox:
:
information(this,"mydlg",
"helloworld");
}
在最上放加个头文件#include <QMessageBox>
Build=>Run运行一下看看
点那个按钮会弹出一个消息框哦
---------------------------------------------------华丽的分割线-------------------------------------------------
4.UI文件
可能有的新人会对ui文件有点迷惑,特别是只学过命令行模式编程的学生
ui文件是个什么格式呢?
它是如何被编译器识别和编译的呢?
我们打开QTCreator,新建一个Dialog工程
File=> NewFileorProject=>Projects =>Qt4 GuiApplication
按下OK,命名Name为text,保存在D:
\QT\sample\
按两次Next, 选择Base Class为QDialog,按下一步,完成
这时会自动生成一个Dialog类型的工程
右键工程下的Forms=>Dialog.ui, 选择菜单OpenWith=>PlainTextEditor
你会发现ui文件格式为XML,
如下
Dialog
<x>0
<y>0
<width>600</width>
400
</rect>
</property>
<string>Dialogstring>
</property>
<layoutDefaultspacing="6"margin="11"/>
<resources/>
ui>
但C++编译器又是如何编译XML格式的ui文件呢
打开D:
\QT\sample\test\
这里有5个文件,有工程文件,源文件,头文件以及ui文件
分别是test.pro,main.cpp,dialog.cpp,dialog.h,dialog.ui
现在回到QTCreator编译这个工程
再看D:
\QT\sample\test\
你看到,除了之前产生的那些临时的文件夹和文件
还多了一个ui_dialog.h
打开ui_dialog.h
这是一个从ui文件产生的一个头文件
也就是将XML格式的ui文件转换成编译器可以处理的源代码文件,
然后再编译
返回ui,在其窗口上加上一个PushButt