QSignalMapper 是 Qt 提供的一个用于信号映射的类,它允许将多个信号源(例如按钮点击)映射到一个单一的槽函数,并传递自定义参数。这在需要根据不同的触发对象执行相似逻辑时非常有用。
用法说明
-
创建
QSignalMapper实例:cpp
QSignalMapper* signal_mapper = new QSignalMapper(this); -
连接信号与映射关系:
- 将每个按钮的
clicked()信号连接到signal_mapper的map()槽。 - 使用
setMapping(QObject*, int)设置对应的映射值。
cpp
connect(_btn, SIGNAL(clicked()), signal_mapper, SLOT(map())); signal_mapper->setMapping(_btn, index); - 将每个按钮的
-
绑定最终处理逻辑:
- 连接
signal_mapper的mapped(int)信号到实际处理函数。
cpp
- 连接

最低0.47元/天 解锁文章
3470

被折叠的 条评论
为什么被折叠?



