Qt 5.14.2 入门(三)基本知识理解

时间:2025-04-13 20:25:16

目录

    • 一、新建项目后生成的三个文件的作用和内容
      • 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";
});

三、等待更新补充