如何使用QSignalMapper
来源:互联网 发布:凑数小软件 编辑:程序博客网 时间:2024/06/06 01:24
QSignalMapper这个类并不是个新鲜概念, 早在Qt2里就已经存在, 而且它的功能也是始终如一。 不过由于宣传力度不够(例子里涉及到它的很少)了解这个类人可能还不是很多, 所以特此撰文介绍此类的功能和用法。
简单的理解,可以把SignalMapper这个类看成是信号的翻译和转发器, 它可以把一个无参数的信号翻译成带int参数、QString参数、QObject*参数或者QWidget*参数的信号, 并将之转发。 这么一说大家有没有联想到该类的适用范围呢? 呵呵, 是不是一下就想到了如果我有一堆的button, 可以把clicked事件放在一个函数里处理, 只要给button编个号或者给button起个名就行了, 这样就不用给每个button写一个slot了,岂不是很方便?
QSignMapper *mapper = new QSignMapper(this)
QPushButton *btn1 = new QPushButton(this);
btn1->setText("btn1");
QPushButton *btn2 = new QPushButton(this);
btn2->setText("btn2");
mapper->setMapping(btn1,btn1->text());
mapper->setMapping(btn2,btn2->text());
connect(btn1,SIGNAL(clicked()),mapper,SLOT(map()));
connect(btn2,SIGNAL(clicked()),mapper,SLOT(map()));
connect(mapper,SIGNAL(mapped(QString),this,SLOT(myfunc(QString)));
整体的作用是通过一个无参的信号转化成有参的信号,然后传给槽函数进行操作。
- 如何使用QSignalMapper
- QSignalMapper使用
- QSignalMapper 使用方法 参见QSignalMapper中使用文档
- QSignalMapper的使用
- QSignalMapper类的使用
- QSignalMapper的使用
- QSignalMapper类的使用
- QSignalMapper的简单使用
- QSignalMapper的简单使用
- QSignalMapper类使用
- QSignalMapper的使用
- QSignalMapper
- QSignalMapper
- QSignalMapper
- QSignalMapper
- QSignalMapper
- QSignalMapper
- QSignalMapper
- 面试题13:在O(1)时间删除链表结点
- OpenSSL 在VS2010环境下的安装
- JMX是一个为应用程序、设备、系统等植入管理功能的框架
- iOS 视图控制器的生命周期
- hdu 5015 233 Matrix(矩阵快速幂)
- 如何使用QSignalMapper
- HDU 1113 Word Amalgamation (map 容器 + string容器)
- hdu 5033 单调栈的维护
- opencv程序四:图像二值化
- 实验室第三周工作报告
- linkin大话设计模式--策略模式
- 浅拷贝与深拷贝
- VS2010 MySQ连接问题小结
- 服务器 libevent源码深度剖析一