QWeight、QMainWindow、QDialog的使用和关系
新建QT桌面应用是会选择窗口类,其中包括QWeight、QMainWindow和QDialog。QWeight就是纯窗口,QMainWindow是含有导航栏,侧边栏等。QDialog是对话框弹出窗口。
三者关系:QWeight是基类,QMainWindow和QDialog是派生类。
初识QT项目文件
QT项目中最基本的的文件有:
1、qt_one.pro
2、头文件:Headers
3、源文件:Sources
qt_one.pro
xxx.pro 是项目管理文件,包括一些对项目的设置项。
#-------------------------------------------------
#
# Project created by QtCreator 2021-07-06T12:17:06
#
#-------------------------------------------------
QT += core gui //代码模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = qt_one//目标输出exe
TEMPLATE = app//程序模板
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
SOURCES += \
main.cpp \
widget.cpp
HEADERS += \
widget.h
FORMS += \
widget.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
Headers 分组
该节点下是项目内的所有头文件(.h),图 5 中所示项目有一个头文件 mainwindow.h,是主窗口类的头文件。
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT//Q_OBJECT宏,允许类中使用信号和槽机制
public:
explicit Widget(QWidget *parent = nullptr);//构造函数
~Widget();//析构函数
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
Sources 分组
该节点下是项目内的所有 C++源文件(.cpp),图 5 中所示项目有两个 C++ 源文件,mainwindow.cpp 是主窗口类的实现文件,与 mainwindow.h 文件对应。main.cpp 是主函数文件,也是应用程序的入口。
mian入口函数讲解
#include "widget.h"
#include <QApplication>
// argc表示命令行变量数,*argv[]命令行数组
int main(int argc, char *argv[])
{
//QT应用程序,不可修改
QApplication a(argc, argv);
//创建窗口对象
Widget w;
//show()函数使窗口显示
w.show();
//exec使窗口处于等待状态,等待用户下一步操作,点击红叉退出,即消息循环
return a.exec();
}