Слоты QT и сигналы args - PullRequest
       22

Слоты QT и сигналы args

0 голосов
/ 11 ноября 2011

Я новичок в Qt и наткнулся на проблему, на которую я не смог найти ответ в Google.

Скажем, я хочу отправить поле ускорения и скорости.Я определяю пользовательский сигнал:

setProperties(QString,double,double,bool)

Однако, как мне определить разницу между скоростью и ускорением в таком выражении?

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

randomslot необходимо получить поле скоростии поля ускорения и манипулировать ими, но в приведенном выше SIGNAL они просто double.

1 Ответ

2 голосов
/ 11 ноября 2011

В этом случае ваша somerandomslot() функция, вероятно, должна иметь соответствующую сигнатуру функции, чтобы значения emit ed в вашем сигнале могли быть переданы ей:

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(), вы получите доступ к этим переменным.

...