QT插槽和信号args

时间:2011-11-11 02:20:38

标签: qt qt-creator signals-slots

我是Qt的新手,偶然发现了一个我无法在Google上找到答案的问题。

说我想发送一个加速度和速度场。我定义了一个自定义信号:

setProperties(QString,double,double,bool)

但是,如何在这样的陈述中说出速度和加速度之间的区别?

connect(dialog, SIGNAL(setProperties(QString,double,double,bool)),
        this, SLOT(somerandomslot()));

randomslot需要获取速度字段和加速度字段并对其进行操作,但在上面的SIGNAL中,它们只是double

1 个答案:

答案 0 :(得分:2)

在这种情况下,您的somerandomslot()函数应该具有匹配的函数签名,以便信号中的值emit可以传递给它:

void somerandomslot( const QString &foo, double a, double v, bool bar );

然后你的连接电话看起来像这样:

connect(dialog, SIGNAL(setProperties(QString,double,double,bool)), this, SLOT(somerandomslot(QString, double, double, bool)));

当您的somerandomslot()被调用时,您将可以访问这些变量。