【QT】:QT中的信号和槽
2016-04-15 15:21
911 查看
QT中的信号就是某个按钮执行后该之行的函数
QT中的槽就是一个通用的函数
我们需要把信号和槽关联起来,这样才能实现我们想要的功能。
总结需要3步:
1,在widget.h中添加一个函数的声明
2,在widget.cpp添加函数的具体声明
3,在widget.cpp添加信号与槽的对应
具体代码:
cpp
在主界面添加的connect函数
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(FoodIsComing()));
注意点:
使用了什么类,一定要#include 该类
运行状态:
上述是手动的代码,下面还有个自动的代码:
在应用了该按钮之后,进行下一步转到槽操作,然后就可以进行相关函数的写了
方法:
1,点击该控件,右键,转到槽,然后选第一个onclick,然后就能进行相关函数的匹配
2,我们发现,通过这个方法,能够省去connect函数,并且代码也大大的简化了,SLOT也都是一对一的关系
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也都是一对一的关系
相关文章推荐
- QT学习之路之计算器开发
- ubuntu14.04配置opencv和QT
- Qt使用正则表达式去掉小数位多余的0
- 【Qt】按钮键
- 04. Qt做图像处理经验
- qt打包程序(简单)
- QT下使用MapX控件的问题以及Activex技术
- qt4.键盘方向键
- QT编译./configure参数的详细解释[新手充电必读]
- QT识别U盘一自带的QDBus(hal)
- windows下 Qt检测U盘(二)
- vs2008编译Qt4.8.6-OpenGL 64位版
- Arm平台 Qt检测U盘插拔(三)hotplug-recv()阻塞
- pyqt4的qwebpage一个奇怪的bug
- Qt编写信息管理系统(3)
- qt osg 多点触摸
- OK6410按键驱动--Qt程序(改)亲测可以运行
- OK6410之Qt移植全过程记录
- MQTT客户端移植到STM32
- 用cmake3.5.1在win32下给qt5.5.1配置opencv2.4.8