一、第一个QT程序
1、QT的优点
跨平台、接口简单容易上手、一定程度上简化了内存的回收。
2、默认有窗口类
基类有三种选择:QWidget、QMainWindow、QDlalog
3、main函数
#include "widget.h"
#include <QApplication>//包含一个应用程序类的头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);//a 应用程序对象,qt中,有且只有一个
Widget w;//窗口对象 QWidget类的派生类
w.show();//窗口对象默认不会显示,必须调用show方法
return a.exec();//让应用程序对象进入消息循环,代码阻塞到当前行
}
4、QTCreator一些快捷键
注释 ctrl+/
运行 ctrl+r
编译 ctrl+b
自动对齐 ctrl+i
同名之间.h和.cpp切换 F4
二、.pro文件解释
#QT包含的模块
QT += core gui
#大于4版本以上 包含widget模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#生成的.exe程序的名称
TARGET = Demo
TEMPLATE = app #模板 应用程序模板 Application
DEFINES += QT_DEPRECATED_WARNINGS
#源文件
SOURCES += \
main.cpp \
widget.cpp
#头文件
HEADERS += \
widget.h
.pro文件的写法如下:
-
注释
从“#”开始,到这一行结束。 -
模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = app
- app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
- lib - 建立一个库的makefile。
- vcapp - 建立一个应用程序的VisualStudio项目文件。
- vclib - 建立一个库的VisualStudio项目文件。
- subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
-
指定生成的应用程序名:
TARGET = QtDemo -
工程中包含的头文件
HEADERS += include/painter.h -
工程中包含的.ui设计文件
FORMS += forms/painter.ui -
工程中包含的源文件
SOURCES += sources/main.cpp sources -
工程中包含的资源文件
RESOURCES += qrc/painter.qrc -
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。 -
配置信息
CONFIG用来告诉qmake关于应用程序的配置信息。
CONFIG += c++11 //使用c++11的特性
在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。