qobject_cast用法
来源:互联网 发布:linux清除tomcat缓存 编辑:程序博客网 时间:2024/05/24 01:39
函数原型:
T qobject_cast ( QObject * object )
本方法返回object向下的转型T,如果转型不成功则返回0,如果传入的object本身就是0则返回0。
在使用时有两个限制:
1# T类型必须继承自QObject。
2# 在声明时必须有Q_OBJECT宏。
使用场景:
当某一个Object emit一个signal的时候,它就是一个sender,系统会记录下当前是谁emit出这个signal的,
所以你在对应的slot里就可以通过 sender()得到当前是谁invoke了你的slot。
有可能多个 Object的signal会连接到同一个signal(例如多个Button可能会connect到一个slot函数onClick()),
因此这是就 需要判断到底是哪个Object emit了这个signal,根据sender的不同来进行不同的处理.
在槽函数中:
QObject * obj = sender(); //返回发出信号的对象,用QObject类型接收
QPushButton *button_tmp = qobject_cast<QPushButton *>(obj); //向下转型为按钮类型
...对此按钮的其他操作
0 0
- qobject_cast用法
- qobject_cast用法
- qobject_cast用法
- qobject_cast用法
- qobject_cast用法
- Qt-qobject_cast用法
- qt qobject_cast用法
- Qt qobject_cast 函数用法
- qobject_cast<QPushButton *>(sender())用法
- Qt|qobject_cast用法
- qobject_cast用法总结
- Qt qobject_cast用法 向下转型
- qobject_cast<QPushButton *>( sender() ) 用法介绍
- qobject_cast
- qobject_cast
- qobject_cast总结
- qobject_cast--Qt的dynamic_cast
- qobject_cast 的一点感悟
- PostgreSQL的MVCC并发处理
- QT5入门之28 -QLineEdit
- 二维数组中的查找
- PyQt常用控件积累
- 巧用Xcode的代码块提高编码效率
- qobject_cast用法
- 关于ORA-01654: 索引 DISNEYEPORTAL.IND_SHOP_TRADES_RECORD_TID 无法通过 128 (在表空间 TS_IDX_WF 中) 扩展问题
- 短文本分类
- Ofbiz 容器中的帮助类对象
- android应用完全退出,并且从最近运行程序以及系统正在运行列表中完全抹除。
- UILabel,文字中间划横线
- [MSCHART]如何使用MSCHART实现雷达图
- EF | Entity framework
- 小胖说事41-----iOS中在UILabel显示不同的字体和颜色,增加下划线和删除线