QT的信号和槽函数的使用(一)
来源:互联网 发布:js判断select是否选中 编辑:程序博客网 时间:2024/06/08 10:15
一,信号的使用
语法:
参数解释:
- sender:发出信号的对象
- signal:发送对象发出的信号
- receiver:接收信号的对象
- slot:接收对象在接收到信号之后所需要调用的函数(槽函数)
自带信号的槽函数的使用案例
//第一个参数是:按键 第二参数是:处理的点击事件, //第三个参数接收到事件的处理的人 //第四个参数处理事件 connect(ui->pushButton, &QPushButton::clicked, this, &QMainWindow::close);
二,自定义的信号处理事件
1. newspaper.h头文件
#ifndef NEWSPAPER_H#define NEWSPAPER_H#include <QObject>class NewsPaper : public QObject{ Q_OBJECTpublic: explicit NewsPaper(QObject *parent = 0); //发送信令 void sendSignal3();signals: //信令操作 void hasNewsPaper(); void hasNewsPaper(QString name);public slots:};#endif // NEWSPAPER_H
2.newspaper.cpp实现
#include "newspaper.h"NewsPaper::NewsPaper(QObject *parent) : QObject(parent){}void NewsPaper::sendSignal3(){ //发送自定义信令 emit hasNewsPaper(); emit hasNewsPaper("sdlkfj");}
3.Reader.h头文件
#ifndef READER_H#define READER_H#include <QObject>class Reader : public QObject{ Q_OBJECTpublic: explicit Reader(QObject *parent = 0); //信令处理函数, 槽函数 void buyNewsPaper3(); void buyNewsPaper3(QString name);signals:public slots:};#endif // READER_H
4.实现
#include "reader.h"#include <QDebug>Reader::Reader(QObject *parent) : QObject(parent){}void Reader::buyNewsPaper3(){ qDebug() << "songli" ;}void Reader::buyNewsPaper3(QString name){ qDebug() << "songli name :" << name ;}
测试:
#include "mywidget.h"#include "ui_mywidget.h"#include "newspaper.h"#include "reader.h"MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget){ ui->setupUi(this); NewsPaper* newsPaper = new NewsPaper(this); Reader* reader = new Reader(this); connect(ui->pushButton, &QPushButton::clicked, newsPaper, &NewsPaper::sendSignal3); void(NewsPaper::*myfunc)(QString) = &NewsPaper::hasNewsPaper; void(Reader::*myRead)(QString) = &Reader::buyNewsPaper3; connect(newsPaper, myfunc, reader, myRead);}MyWidget::~MyWidget(){ delete ui;}
三,总结
QT的信令就是IOC控制反转的实现
阅读全文
0 0
- QT的信号和槽函数的使用(一)
- QT的信号和槽函数(非QT designer设计)
- QT的信号和信号槽
- QT的信号和槽
- Qt的信号和槽
- QT的信号和槽
- QT的信号和槽
- QT的信号和槽
- QT的信号和槽
- QT的信号和槽
- 【QT】信号和槽机制(一)
- 嵌入式 QT开发使用信号和槽的机制
- 在QT的信号和槽中使用自定义类型
- QT 的信号与槽机制介绍(一)
- QT信号与槽的使用
- qt中信号和槽的总结
- QT中自定义的信号和槽
- Qt信号和槽的思考
- Python之——Eclipse +PyDev开发python,import其他模块时eclipse会报错,运行却没有问题
- Lua泛型for
- Codeforces 869C ( Codeforces Round #439 (Div. 2) ) The Intriguing Obsession 组合数学
- hdu 5646 拆数积最大 数学
- 5. 抽象工厂模式
- QT的信号和槽函数的使用(一)
- 17.10.7日报
- PHP explode() 函数
- [BZOJ2957]楼房重建-线段树
- 如何使用mybatis调用存储过程
- C++简单的矩阵运算
- 基于IDSS和Machine Learning的零售金融大数据分析(一)
- PHP 水印 验证码
- 关于素数验证算法