时间记录:2023/12/14
1.(.pro文件)项目管理文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
mywidget.cpp
HEADERS += \
mywidget.h
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
配置项 | 含义 |
---|---|
QT | 指定项目中用到的所有模块,core模块包含了QT GUI界面开发的核心功能,其他所有模块均依赖于此模块,gui模块提供了用于开发GUI应用程序的一些必要类,sql模块包含了数据库相关的类,widgets包含了构建界面的控件类,multimedia包含了音频、视频的类,network包含了网络相关的类,bluetooth包含了蓝牙操作相关的类 |
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets | 判断QT的版本如果大于4的话添加模块 |
TARGET | 指定生成的可执行程序的名字 |
TEMPLATE | 指定如何运行当前程序,默认值为app,表示当前程序是应用程序,可直接编译运行,常用值还有lib,表示将当前程序编译成库文件 |
DEFINES | 在程序中定义一个宏,如同c文件中的#define xxx |
SOURCES | 指定项目中的所有cpp源文件 |
HEADERS | 指定项目中的所有h头文件 |
FORMS | 指定项目的所有ui文件 |
INCLUDEPATH | 指定引入外部资源的头文件路径 |
LIBS | 指定引入外部资源的指定库文件 |
CONFIG | 经常用的值,release:以发布模式编译程序,debug:以调试模式编译程序,warn_on:编译器输出尽可能多的警告,c++11:启用c++11标准支持 |
2.(main.cpp)主程序文件
#include "mywidget.h"
#include <QApplication>//QApplication类的头文件
//argc->argument_count,argv->argument_value
int main(int argc, char *argv[])
{
QApplication a(argc, argv);//创建QApplication对象,每个应用程序都必须有且仅有一个此对象
MyWidget w;//创建主窗口对象
w.show();//调用show方法,使图形对象显示在屏幕
return a.exec();//阻塞,进入消息循环,等待程序结束pause
}
3.(.h头文件)
#ifndef MYWIDGET_H//宏定义,防止重复包含
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget//此类继承于QWidget类
{
Q_OBJECT//所有使用到信号的类都需要添加此宏
public://公共属性和方法定义/实现区
MyWidget(QWidget *parent = nullptr);//构造方法定义
~MyWidget();//析构函数定义
};
#endif // MYWIDGET_H
4.(.cpp源文件)
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)//构造函数实现,用来创建对象
{
}
//析构函数最后执行的函数,在这里释放空间
MyWidget::~MyWidget()
{
}