1. Qt

1. 入口文件介绍
#include "mainwindow.h"

// 包含一个应用程序类的头文件
#include <QApplication>

// 程序入口, argc命令行变量的数量,argv命令行变量的数组
int main(int argc, char *argv[])
{
    // a应用程序对象,在Qt中,应用程序对象 有且仅有一个
    QApplication a(argc, argv);

    // 窗口对象
    MainWindow w;

    // 窗口对象,默认不会显示,必须要调用show方法显示窗口
    w.show();

    // 让应用程序对象进入消息的死循环
    return a.exec();
}
2. 项目文件介绍
# 声明项目依赖的Qt基础模块
QT       += core gui

# 如果Qt主版本号大于4,则添加 widgets 模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

# 启用C++17标准编译代码,可以使用C++17的新特性
CONFIG += c++17

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# 项目的源文件
SOURCES += \
    main.cpp \
    mainwindow.cpp

# 项目的头文件
HEADERS += \
    mainwindow.h
2. 标准的信号槽
// 标准的信号槽,实现按钮点击事件的绑定
connect(ui->btnMax, SIGNAL(clicked()), this, SLOT(showMaximized()));
connect(ui->btnNormal, SIGNAL(clicked()), this, SLOT(showNormal()));
connect(ui->btnMin, SIGNAL(clicked()), this, SLOT(showMinimized()));
connect(ui->btnClose, SIGNAL(clicked()), this, SLOT(close()));
3. 连接信号槽的5中方式
1. 使用SIGNAL和SLOT方式连接信号槽
// 方式1:使用SIGNAL和SLOT方式连接信号槽
connect(ui -> btnMax, SIGNAL(clicked()), this, SLOT(showMaximized()));
2. 使用函数地址的方式
// 方式2:使用函数地址的方式,连接信号槽
connect(ui -> btnNormal, &QPushButton::clicked, this, &MainWindow::showNormal);
3. ui设计师页面 - 转到槽
在QPushButton右键,点击转到槽,会自动生成下面的代码

private slots:
    void on_btnMin_clicked();

void MainWindow::on_btnMin_clicked()
{
    this -> showMinimized();
}
4. ui设计师页面 - 信号槽编辑器
通过信号槽编辑器手动添加
5. lambda表达式
// 方式5:labmda表达式
connect(ui -> btnSetWindowTitle, &QPushButton::clicked, this, [this]() {
    this -> setWindowTitle("信号槽连接的5种方式");
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容