qt映射器QSignalMapper的理解

总述:可以将QSignalMapper当做一个中间转发器

1.将原始部件(如button)的信号发送给映射器

connect(button, SIGNAL(clicked()), signalMapper, SLOT(map ()));//原始信号传递给signalmapper

2.设置转发规则

第一个参数是原始的发送对象,第二个参数哦要转发的内容(不仅仅是QString类型,其他任意类型也可以)

signalMapper->setMapping (button, QString);

3. 将转发的信号连接到最终的槽函数

connect(signalMapper, SIGNAL(mapped (const QString &)), this, SLOT(doClicked(const QString &)));//将转发的信号连接到最终的槽函数

转载:https://blog.csdn.net/w_yqrx123/article/details/82353110

原文地址:https://www.cnblogs.com/sggggr/p/12730464.html