您的位置:首页 > 编程语言 > Qt开发

【QT】:QT中的信号和槽

2016-04-15 15:21 911 查看
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也都是一对一的关系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: