Qt信号映射

时间:2015-02-21 19:08:41

标签: c++ qt

据我所知,我们可以使用QSignalMapper收集一组无参数信号,并使用与发送信号的对象相对应的整数,字符串或窗口小部件参数重新发出它们。

但我们可以反过来吗? 例如,是否有可能实现:

connect(control,startVehicle(0),vehcileList[0],startReceived());
connect(control,startVehicle(1),vehcileList[1],startReceived());
connect(control,startVehicle(2),vehcileList[2],startReceived());

而不是来自对照的3个不同信号

startVehicle_1();
startVehicle_2(); 
startVehicle_3();

1 个答案:

答案 0 :(得分:1)

有一种更简单的方法:

connect(control, SIGNAL(startVehicle(int)), this, SLOT(startReceived(i)));

//in startReceived(i) slot
vehcileList[i]->startReceived();