2016-11-26 4 views
0

Как мне получить доступ к «полезной нагрузке» сигнала в лямбда оператора связи?Доступ к «полезной нагрузке» сигнала Qt в заявлении о соединении

Say сигнал выглядит следующим образом:

signals: 
    void stateChanged(std::pair<unsigned, unsigned>); 

Теперь в операторе соединения, я хотел бы получить доступ к std::pair в лямбда, как я могу это сделать? Нечто подобное:

connect(&sender, &sendClass::stateChanged,()[]{ use content of std::pair for conversion here; emit other signal with converted content });

+0

Думай вашего функтора, как если бы это был слот. Заставьте его аргументы :) –

ответ

3

Вы должны дать свои параметры функции лямбда:

connect(&sender, &sendClass::stateChanged, 
     (std::pair<unsigned, unsigned> state)[] { /*do something with state*/ }); 
Смежные вопросы