qt学习之sender
来源:互联网 发布:sql server创建表 编辑:程序博客网 时间:2024/06/05 17:29
当某一个Object emit一个signal的时候,它就是一个sender,系统会记录下当前是谁emit出这个signal的,所以你在对应的slot里就可以通过 sender()得到当前是谁invoke了你的slot,对应的是QObject->d->sender.
有可能多个Object的signal会连接到同一个signal(例如多个Button可能会connect到一个slot函数onClick()),因此这是就需要判断到底是哪个Object emit了这个signal,根据sender的不同来进行不同的处理
QObject::Sender()返回发送信号的对象的指针,返回类型为QObject *
示例代码:
QTimeEdit *editor = qobject_cast<QTimeEdit *>(sender());
此时可以对editor进行进一步的处理了。
你在一个槽里面,调用这个函数,返回的就是你信号来源的对象;
QPushButton *aaaa = new QPushButton(this);
比如 connect(aaaaa, SIGNAL(Click()), this, SLOT(Onaaaaa());
QPushButton *aaaa = new QPushButton(this);
比如 connect(aaaaa, SIGNAL(Click()), this, SLOT(Onaaaaa());
void Onaaaaa(){
QPushButton *ccc = (QPushButton*) sender();
}
QPushButton *ccc = (QPushButton*) sender();
}
这个CCC就是aaaa这个对象来的。
阅读全文
0 0
- qt学习之sender
- QT学习:QObject::sender()的用法
- ddpush 学习之路 12 Sender.java
- iOS学习之——prepareForSegue:sender:
- Qt sender()函数
- storyboard之 prepareForSegue:sender:
- storyboard之 prepareForSegue:sender:
- storyboard之 prepareForSegue:sender:
- storyboard之 prepareForSegue:sender:
- storyboard之 prepareForSegue:sender:
- sender分析之Selector
- Qt信号与槽之查看信号来源qobject_cast<类型*>(sender())
- sender
- Sender
- QT笔记:QObject::sender()的用法
- Qt中QObject::sender()的用法
- Qt中sender()函数的用法
- Qt中QObject::sender()的用法
- Json解析精讲
- HDU 2665 (主席树)
- kde framework概述(KDE Framework译文)
- CodeVS 1242 布局
- liunx 配置jdk
- qt学习之sender
- Device Tree
- 修改commit的message
- arguments,callee和caller
- js 百度地图第二次加载显示不全问题解决方案
- 修改文件内容Java python
- 网络数据
- linux 树莓派下 python安装scipy
- 【Redis手册三】Redis事务