Сигнали і слоти в Qt: установка, особливості роботи, створення

Оновлені функціональні можливості

Починаючи з Qt 5.0, існує нова перевантаження QObject::connect, яка підтримує передачу даних через сигнали Qt в якості другого і четвертого аргументів покажчика на функцію, вказує ту, яку потрібно викликати.

Новий синтаксис дозволяє викликати не тільки функцію-член, оголошену, як слот у заголовку public slots, але і будь-яку функцію. Є ще один варіант використання, коли потрібно оголосити функції, як слоти, щоб зробити їх придатними для використання будь-якої іншої, яка реалізується під час виконання. Це може бути, наприклад, QML.

Можна підключитися до будь-якої «викликається» функції, яка може бути автономною, лямбда-функцією або членом об’єкта, який не є похідним QObject.

При підключенні до лямбда є об’єкт-одержувач, сама лямбда, але немає підпису, яку можна вказати, оскільки це оператор виклику функції. І коли окрема функція і підпис, третій і четвертий аргументи перших двох дзвінків об’єднуються.