Начиная с Qt 5, функторы и лямбда-выражения можно использовать как слот (как упоминалось ранее, здесь: http://qt -project.org / wiki / New_Signal_Slot_Syntax ).
Поскольку я не смог найти пример кода, я добавил следующее:
В этом примере используется boost::function
для члена класса ClassName::classMember()
без параметров.
boost::function<void()> f= boost::bind(&ClassName::classMember, classInstance);
connect(QObjectInstance, &QObject::signalName, f);
Когда у сигнала Qt и члена класса есть параметры (например, ClassName::classMember(int)
), функция повышения должна быть адаптирована следующим образом:
boost::function<void(int)> f= boost::bind(&ClassName::classMember, classInstance, _1);
Более подробную информацию о boost :: bind можно найти в документации: http://www.boost.org/doc/libs/1_55_0/libs/bind/bind.html