Любой простой способ соединить сигналы и слоты с преобразованными значениями аргументов. Например, у меня есть одиночный signal(bool state)
, он подключен к слоту slot(bool reversed_state)
, здесь состояние - это перевернутое состояние (логически нет) состояния сигнала.
Как связать сигналы и слоты с преобразованными значениями аргументов
Ответы (1)
Создайте промежуточный слот, чтобы связать два: -
class MyClass : public QObject
{
Q_OBJECT
public:
signals:
void SomeSignal(bool state);
void SomeSignalSwitched(bool state); // reverse the state
public slots:
void ReversedStateSlot(bool reversed_state);
};
void MyClass::SomeSignalSwitched(bool state)
{
bool newState = !state
emit SomeSignalSwitched(newState);
}
// NOTE Qt 5 connect functions
connect(myClassObject, &MyClass::SomeSignal, myClassObject, &MyClass::SomeSignalSwitched);
connect(myClassObject, &MyClass::SomeSignalSwitched, myClassObject, &MyClass::ReversedStateSlot);
person
TheDarkKnight
schedule
01.10.2013