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