目录
- 一、新建项目后生成的三个文件的作用和内容
- 1、.h文件:头文件(如mainwindow.h)
- 2、.cpp文件:源文件(如mainwindow.cpp)
- 3、main.cpp:主程序
- 二、信号和槽机制
- 1、信号(Signal)
- 2、槽(Slot)
- 3、连接方式
- 三、等待更新补充
一、新建项目后生成的三个文件的作用和内容
1、.h文件:头文件(如mainwindow.h)
-
核心作用:声明类、函数和变量(不包含实现细节)
-
包含内容:
类的定义(class MainWindow)
成员变量和函数的声明
宏(如Q_OBJECT)
信号和槽的声明
2、.cpp文件:源文件(如mainwindow.cpp)
-
核心作用:实现头文件中声明的所有函数
-
包含内容:
成员函数的具体定义
静态成员变量的初始化
实现细节(如UI布局、业务逻辑)
3、main.cpp:主程序
-
核心作用:程序启动入口,创建应用程序和主窗口
-
包含内容:
main() 函数
应用程序对象(QApplication)的创建
主窗口的实例化和显示
二、信号和槽机制
信号和槽机制是QT区别于其他框架的重要特性,它大大简化了对象间通信的实现。
1、信号(Signal)
-
由对象在特定事件发生时发出的通知
-
类似于事件广播
-
使用emit关键字触发
-
声明时只需声明,不需要实现(由moc自动生成)
2、槽(Slot)
-
响应特定信号的函数
-
是普通的成员函数,可以被正常调用
-
可以连接到信号,当信号发出时自动调用
3、连接方式
QObject::connect(发送者指针, &发送者类::信号, 接收者指针, &接收者类::槽函数);
// 按钮点击时关闭窗口
QPushButton *button = new QPushButton("Close");
connect(button, &QPushButton::clicked, this, &QWidget::close);
connect(button, &QPushButton::clicked, [=](){qDebug() << "Button clicked";
});