我有一个自旋控件 block ,它可以更改数组的各个元素 我不想使用单独的接收器槽函数,而是只想指定哪个控件在信号中发送消息
您可以使用 QSignalMapper 来做到这一点——但是是否可以像下面那样简单地做到这一点?
spin0 = new QDoubleSpinBox;
connect(spin0,SIGNAL(valueChanged(double)),this,SLOT(handler(0,double));
spin1 = new QDoubleSpinBox;
connect(spin1,SIGNAL(valueChanged(double)),this,SLOT(handler(1,double));
....
private slot:
void handler(int element,double value);
最佳答案
从任何插槽处理程序中,您都可以使用 sender()获取指向发送信号的对象的指针。然后你可以使用 objectName()属性(property)传达任何进一步的识别信息。
关于c++ - 带有默认参数的 Qt 插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403825/