QT项目代码解释
目录
widget.h
main.cpp
widget.cpp
已进入qt的项目编辑区可以看见如下已经建立的三个文件,里面有预先创建的代码,我们进行解读其作用。

widget.h
#ifndef WIDGET_H
#define WIDGET_H //这个是确保头文件只被包含一次相当于#pragma once#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget //创建项目时选择的父类,QT SDK内置的,想用这个类就需要包含头文件//头文件是和类名一样的可以选择一种不需要.h的
{Q_OBJECT //QT内置的一个宏,要引入信号与槽就需要引入Q_OBJECT这个宏public:Widget(QWidget *parent = nullptr);//必须在构造的时候()指定父类(传递父类的指针)。[1]~Widget();private:Ui::Widget *ui; //内置成员是一个指向控件的指针,可以通过这个指针回调设置入控件的元素/方法//和form file密切相关
};
#endif // WIDGET_H//QWidget 才是“控件”本身 —— 它是 Qt 里 所有可视控件的公共基类,按钮、标签、编辑框、窗口……最终都继承自 QWidget。
//Widget 只是 你项目里拿 QWidget 做的一个具体例子(一个子类),它 当然也是控件,但属于“你的”控件,而不是 Qt 框架提供的通用控件。
//QWidget 是“图纸”;Widget 是“按图纸造出来的那辆车”。
//只要是从 QWidget 派生出来的对象,都是控件。
main.cpp
#include "widget.h"#include <QApplication>int main(int argc, char *argv[]) //main的形参---命令行参数
{QApplication a(argc, argv); //编写一个qt的图形化界面程序一定要有QApplication对象Widget w; // 图形化界面控件w.show(); //让这个图形化界面的所有创建的元素显示出来//w.hide(); //隐藏起来return a.exec();//把程序控制权交给 Qt 的事件循环,让 GUI 程序 持续运行并响应用户交互。//a.exec()就是让上面的所有需求执行并返回一个值作为判断是否执行成功}
widget.cpp
#include "widget.h"
#include "ui_widget.h"
//form file可以被qmake生成cpp代码的头文件
//在这里初始化是为了保证 ui 生命周期与 Widget 完全一致,且可延迟创建
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this); //初始化ui就是把form file生成的界面和当前widget关联起来,将界面控件编成cpp代码显示出来}Widget::~Widget()
{delete ui; //只需要自己delete就可以了
}
所以我们如果要让拖入的图形化界面可以用ui这个指针进行访问需要先完成如下架构设置并且编译一下,才能生效。

