QT从入门到实战学习笔记
- 基本QT工程中各个文件知识
- 1、main函数
- 2、.pro工程文件
- 3、QT5基本模块
- 4、.h头文件
基本QT工程中各个文件知识
1、main函数
#include "mymainwindow.h"
#include <QApplication> //包含一个应用程序类的头文件
//main程序入口 argc命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
//a应用程序对象,在QT中有且只有一个,必须有这么个对象存在
QApplication a(argc, argv);
//窗口对象,myWidget父类 =》 QWidegt
myMainWindow w;
//窗口对象,默认不会显示,必须要调用show方法显示窗口
w.show();
//让应用程序对象进行消息循环机制,保持窗口持续存在
//让代码堵塞到这行
return a.exec();
}
2、.pro工程文件
QT += core gui #QT包含的模块=core核心模块 gui图形模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #大于4版本以上的包含widgets界面用于显示窗口的模块(之前4版本是集合在一起了)
CONFIG += c++11 #语言使用的是C++11版本
TARGET = 01_SecondProject #目标,生成的.exe程序名字
TEMPLATE = app #模板 应用程序模板,默认app,还有如lib vcapp vclib subdirs
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \ #源文件
main.cpp \
mymainwindow.cpp
HEADERS += \ #头文件
mymainwindow.h
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
其中TARGET可以通过更改名字生成不同.exe文件如下:
从TARGET = 01_FirstProject
变为TARGET = 01_SecondProject
3、QT5基本模块
Core核心模块 GUI图形模块 Network网络通信模块 Mulitmedia多媒体模块
SQL数据库模块 Test测试模块 Widgets窗口中的内容单独的写到这个模块中
4、.h头文件
#ifndef MYMAINWINDOW_H //保护代码,防止头文件被重复编译
#define MYMAINWINDOW_H
#include <QWidget> //包含一个头文件QWidget 窗口的类的头文件
class myMainWindow : public QWidget //写了个自己的类,继承QWidget
{
Q_OBJECT //Q_OBJECT宏,允许类中使用信号和槽的机制
public:
myMainWindow(QWidget *parent = nullptr); //构造函数,默认函数值在头文件里和原文件里只有一个存在默认值
~myMainWindow(); //析构函数
};
#endif // MYMAINWINDOW_H
5、命名规范和快捷键
#include "mymainwindow.h"
//命名规范
//类名 首字母大写 单词和单词之间首字母大写
//函数名 变量名 首字母小写,单词和单词之间首字母大写
//快捷键
//注释 ctrl+/ 取消注释 ctrl+?
//运行 ctrl+r
//编译 ctrl+b
//字体缩放 ctrl+鼠标滚轮
//查找 ctrl+f
//整行移动 ctrl+shift+↑或者↓
//帮助文档 第一种方式 F1 退出 esc 第二种方式 左侧按钮 第三种方法 在bin文件中的assistant.exe可以额外点开一个界面查询帮助
//自动对齐 ctrl+i
//同名之间的.h和.cpp切换 F4
myMainWindow::myMainWindow(QWidget *parent) //默认函数值在头文件里和原文件里只有一个存在默认值,这里是一个构造函数的意思,主要是对对象parent初始化,这里继承了父类的默认值0
: QWidget(parent)
{
}
myMainWindow::~myMainWindow()
{
}