Підсумок: сигнально-слотові з'єднання
Підсумуємо наші знання про сигнали, слоти та сигнально-слотові з'єднання.
Слоти:
слот реалізують як звичайний метод класу;
визначають в одній з секцій для слотів (private slots, protected slots, public slots);
слот може повертати значення, але це не можна якимось чином використати у сигнально-слотовому з'єднанні;
довільна кількість сигналів може бути приєднана до одного слота;
слот можна викликати, як звичайний метод класу.
Сигнали:
визначають в секції для сигналів (signals);
сигнали завжди повертають void;
сигнал мусить бути без реалізації (реалізацію для сигналу надає метаоб'єктний компілятор moc);
сигнал може бути приєднаний до довільної кількості слотів;
зазвичай емітування сигналу призводить до прямого виклику слоту, але виклик може також бути
опосередкований (залежить від типу з'єднання);
слоти при цьому можуть викликатися у довільному порядку;
для емітування сигналу, достатньо простого виклику (як у випадку з методами), використовуючи
перед викликом макрос emit (використовується для розрізнення виклику методу від емітування сигналу, але фактично не виконує ніякої спеціальної ролі).
TBD: створення сигнально-слотових з'єднань, створення власних сигналів та слотів
Last updated