【QT】:QT中的信号和槽

本文详细介绍了QT中信号与槽的基本概念及其实现步骤,包括如何定义信号、槽以及如何将二者连接起来以实现GUI交互。通过一个具体的示例展示了如何通过信号与槽来响应用户点击事件。

QT中的信号就是某个按钮执行后该之行的函数
QT中的槽就是一个通用的函数

我们需要把信号和槽关联起来,这样才能实现我们想要的功能。
总结需要3步:
1,在widget.h中添加一个函数的声明
2,在widget.cpp添加函数的具体声明
3,在widget.cpp添加信号与槽的对应

具体代码:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
public slots:
     void FoodIsComing();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

cpp

#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(FoodIsComing()));
}

Widget::~Widget()
{
    delete ui;
}

void Widget::FoodIsComing(){
    QMessageBox::information(this,tr("送餐"),tr("叮咚,外卖已经送达"));
}

在主界面添加的connect函数
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(FoodIsComing()));

注意点:
使用了什么类,一定要#include 该类
运行状态:
这里写图片描述

上述是手动的代码,下面还有个自动的代码:
在应用了该按钮之后,进行下一步转到槽操作,然后就可以进行相关函数的写了
方法:
1,点击该控件,右键,转到槽,然后选第一个onclick,然后就能进行相关函数的匹配

2,我们发现,通过这个方法,能够省去connect函数,并且代码也大大的简化了,SLOT也都是一对一的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值