Підсумок: сигнально-слотові з'єднання

Підсумуємо наші знання про сигнали, слоти та сигнально-слотові з'єднання.

Слоти:

  • слот реалізують як звичайний метод класу;

  • визначають в одній з секцій для слотів (private slots, protected slots, public slots);

  • слот може повертати значення, але це не можна якимось чином використати у сигнально-слотовому з'єднанні;

  • довільна кількість сигналів може бути приєднана до одного слота;

  • слот можна викликати, як звичайний метод класу.

Сигнали:

  • визначають в секції для сигналів (signals);

  • сигнали завжди повертають void;

  • сигнал мусить бути без реалізації (реалізацію для сигналу надає метаоб'єктний компілятор moc);

  • сигнал може бути приєднаний до довільної кількості слотів;

  • зазвичай емітування сигналу призводить до прямого виклику слоту, але виклик може також бути

  • опосередкований (залежить від типу з'єднання);

  • слоти при цьому можуть викликатися у довільному порядку;

  • для емітування сигналу, достатньо простого виклику (як у випадку з методами), використовуючи

  • перед викликом макрос emit (використовується для розрізнення виклику методу від емітування сигналу, але фактично не виконує ніякої спеціальної ролі).

TBD: створення сигнально-слотових з'єднань, створення власних сигналів та слотів

Last updated