第一步,新建空项目。打开Qt Creator,并新建项目,选择“其他项目”中的“Empty qmake Project”。然后将项目命名为helloworld并设置路径,例如E:\app\src\02\2-2。完成后,双击helloworld.pro文件,添加如下一行代码:
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
![](https://i-blog.csdnimg.cn/blog_migrate/a85aa57a9702ab762292279ba974335b.png)
第二步,往项目中添加
main.cpp
文件。在项目文件列表中的项目文件夹
helloworld
上右击,选择“添加新文件”一项,然后选择
C++ Source File
,名称设置为
main.cpp
,路径就是默认的项目目录,后面的选项保持默认即可。
第三步,编写源代码。向新建的
main.cpp
文件中添加如下代码:
#include<QApplication>
#include<QDialog>
#include<QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QDialog w;
QLabel label(&w);
label.setText("Hello Qt!");
w.show();
return app.exec();
}
前
3
行是头文件包含。在
Qt
中每一个类都有一个与其同名的头文件,因为后面用到了
QApplication
、
QDialog
和
QLabel
这
3
个类,所以这里要包含这些类的定义。
第
4
行就是在
C++
中最常见到的
main()
函数,它有两个参数,用来接收命令行参数。
在第
6
行新建了
QApplication
类对象,用于管理应用程序的资源,任何一个
Qt GUI
程序都要有一个
QApplication
对象。因为
Qt
程序可以接收命令行参数,所以它需要
argc
和
argv
两个参数。
第
7
行新建了一个
QDialog
对象,
QDialog
类用来实现一个对话框界面。
第
8
行新建了一个
QLabel
对象,并将
QDialog
对象作为参数,表明了对话框是它的父窗口,也就是说这个标签放在对话框窗口中。
第
9
行给标签设置要显示的字符。
第
10
行让对话框显示出来。在默认情况下,新建的可视部件对象都是不可见的,要使用
show()
函数让它们显示出来。
第
11
行让
QApplication
对象进入事件循环,这样当
Qt
应用程序在运行时便可以接收产生的事件,例如单击和键盘按下等事件。
第四步,编译运行。再看运行的程序,发现窗口太小,下面继续更改代码。
![](https://i-blog.csdnimg.cn/blog_migrate/6d222c3193258b52106f77a3b0736161.png)
第五步,设置窗口大小。
#include<QApplication>
#include<QDialog>
#include<QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QDialog w;
w.resize(400,300);
QLabel label(&w);
label.move(120,120);
label.setText(QObject::tr("Hello Qt!"));
w.show();
return app.exec();
}
![](https://i-blog.csdnimg.cn/blog_migrate/0e8ce3b4069c84bfbd829ccdb2ac34d9.png)
如果想改变对话框的大小,可以使用
QDialog
类中的函数来实现。
在第
7
行代码下面另起一行,输入“
w.”
(注:
w
后面输入一个“
.”
),这时会弹出
QDialog
类中所有成员的列表,可以使用键盘的向下方向键↓来浏览列表,根据字面意思,这里选定了
resize()
函数。这时按下
Enter
键,代码便自动补全,并且显示出了
resize()
函数的原型。它有两个重载形式,用键盘方向键来查看另外的形式,这里的“
int w
,
int h”
应该就是宽和高了。
所以写出了第
8
行代码,设置对话框宽为
400
,高为
300
(它们的单位是像素)。还要说明的是,编写代码时所有的符号都要用输入法中的英文半角(当然,中文字符串中的除外)。然后在第
10
行代码中设置了
label
在对话框中的位置,默认的,对话框的左上角是
(0, 0)
点。
第
11
行添加的
QObject
::tr()
函数可以实现多语言支持,一般建议程序中所有要显示到界面上的字符串都使用
tr()
函数括起来。
方式二:使用普通文本编辑器编写
helloworld
程序
前面在
Qt Creator
中使用纯代码实现了
helloworld
程序。下面不使用
Qt Creator
,而是在其他的编辑器(如
Windows
的记事本)中编写源码,然后再到命令行去编译运行该程序。
第一步,新建工程目录。在
Qt
的安装目录(例如:
C:\Qt
)中,新建文件夹
helloworld
,然后在其中新建文本文档,将
Qt Creator
中
main.cpp
文件中的所有内容复制过来,并将文件另存为
main.cpp
(在保存时要将编码选择为
UTF-8
,否则中文无法显示)。
第二步,使用命令编译程序。打开开始菜单中Qt安装目录下的命令提示符程序Qt 5.6 for Desktop (MinGW 4.9.2 32 bit)。这里已经配置好了编译环境。
现在的默认路径在
C:\Qt\Qt5.6.1\5.6\mingw49_32
下
输入命令:
“
cd C:\Qt\helloworld
”
跳转到新建的
helloworld
目录中。
然后再输入
“
qmake
–project”
命令来生成
pro
工程文件,这时可以看到在
helloworld
目录中已经有了
helloworld.pro
文件了。
下面使用记事本打开该文件,然后在最后面添加如下一行代码:
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
下面接着输入“
qmake
”
命令来生成用于编译的
Makefile文件。这时在helloworld目录中出现了Makefile文件和debug目录与release目录,当然这两个目录现在是空的。接下来输入
“
mingw32-make”
命令来编译程序,编译完成后会在release目录中出现
helloworld.exe文件。
![](https://i-blog.csdnimg.cn/blog_migrate/63e8092474e70d30ab561b4355cc7f7c.png)
编译说明:
上面使用的qmake是Qt提供的一个编译工具,它可以生成与平台无关的.pro文件,然后利用该文件生成与平台相关的Makefile文件。Makefile文件中包含了要创建的目标文件或可执行文件、创建目标文件所依赖的文件和创建每个目标文件时需要运行的命令等信息。最后使用mingw32-make命令来完成自动编译,通过读入Makefile文件的内容来执行编译工作。使用mingw32-make命令时会为每一个源文件生成一个对应的.o目标文件,最后将这些目标文件进行链接来生成最终的可执行文件。
第三步,运行程序。在命令行接着输入cd release命令,跳转到release目录下,然后再输入“helloworld.exe”,按下回车键,就会运行helloworld程序了。