如何使用QSignalMapper和Qobject :: Connect放置我的功能
我是C ++的初学者。
我正在尝试使用QSignalMapper通过一个参数。我做这样的事情:
int main(int argc, char** argv)
{
...
QSignalMapper * mapper = new QSignalMapper(0);
QObject::connect(mapper,SIGNAL(mapped(int )), 0 ,SLOT(mySlot(int )));
int prova=11;
mapper->setMapping(but, prova);
QObject::connect(but, SIGNAL(clicked()),mapper,SLOT(map()));
//do stuff
}
可以将mySlot()放在哪里?我需要通过变量“ prova” 感谢所有。
I'm a beginner in c++.
i'm trying to pass an argument using QSignalMapper. I do something like this:
int main(int argc, char** argv)
{
...
QSignalMapper * mapper = new QSignalMapper(0);
QObject::connect(mapper,SIGNAL(mapped(int )), 0 ,SLOT(mySlot(int )));
int prova=11;
mapper->setMapping(but, prova);
QObject::connect(but, SIGNAL(clicked()),mapper,SLOT(map()));
//do stuff
}
Where i can put mySlot()? I need to pass the variable "prova"
Thanks to all.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
忘记QSignalMapper并使用lambdas:
在
MySlot
的情况下只是一个常规功能:Forget about QSignalMapper and use lambdas:
In case
mySlot
is just a regular function: