我遇到了一个需要保留映射源信号参数的问题.到目前为止,我只找到了没有任何参数映射信号的示例.例如,clicked()信号:
signalMapper = new QSignalMapper(this);
signalMapper->setMapping(taxFileButton, QString("taxfile.txt"));
connect(taxFileButton, SIGNAL(clicked()),
signalMapper, SLOT (map()));
connect(signalMapper, SIGNAL(mapped(QString)),
this, SLOT(readFile(QString)));
Run Code Online (Sandbox Code Playgroud)
但是,我需要使用自己的参数映射一些信号,例如clicked(bool)信号,然后SLOT需要有两个参数doStuff(bool,QString):
connect(taxFileButton, SIGNAL(clicked(bool)),
signalMapper, SLOT (map()));
connect(signalMapper, SIGNAL(mapped(QString)),
this, SLOT(doStuff(bool,QString)));
Run Code Online (Sandbox Code Playgroud)
但是,它不像这样工作?有什么工作吗?
谢谢!
是否可以使用QSignalMapper重新发出具有多个参数的信号?我找到了一个解决方法,但我很好奇,知道是否有可能.
示例:取
空QLineEdit :: textEdited(const QString&text)[signal]
并重新发出:
void newSignal(int group,int pos);