Комментарии 3
Статья полезная, но форматирование с цитатами выглядит очень громоздко и затрудняет чтение. Нужно больше воздуха.
Диалог с Qt5:
— Эй, Qt, а можешь мне мозги не парить?
► В смысле?
— Давай без этих твоих заумных метатипов.
► Вы не желаете вызывать всё через безопасные преобразования в строку?
— Ага, вообще не вариант.
► Можно вызывать по новому синтаксису, передавая указатели на сигналы классов, унаследованных от QObject.
► connect(&m1,&myClass::mySignal,&m2,&myClass::mySlot);
— Точно не надо лишних движений?
► Абсолютно. Ничего регистрировать не нужно, типы будут проверяться из типов указателей.
— Должен же быть подвох?
► Слоты будут вызываться точно по синтаксису. Это означает, что потокобезопасность вызовов не гарантирована.
— Ясно. Какие ещё плюшки есть?
► В качестве слотов можно использовать любые методы, в том числе и произвольных классов, не унаследованных от QObject, и даже функции подходящего синтаксиса.
— Погоди, функции?
► Точно так. Функции. Синтаксис connect(&m3,&myClass::mySignal,[](){qDebug() << «AHOY!»;});
— …
— …
► Что-то не так?
— …
— А раньше нельзя было сказать?
► ┐(●´﹏`●)┌
— Эй, Qt, а можешь мне мозги не парить?
► В смысле?
— Давай без этих твоих заумных метатипов.
► Вы не желаете вызывать всё через безопасные преобразования в строку?
— Ага, вообще не вариант.
► Можно вызывать по новому синтаксису, передавая указатели на сигналы классов, унаследованных от QObject.
► connect(&m1,&myClass::mySignal,&m2,&myClass::mySlot);
— Точно не надо лишних движений?
► Абсолютно. Ничего регистрировать не нужно, типы будут проверяться из типов указателей.
— Должен же быть подвох?
► Слоты будут вызываться точно по синтаксису. Это означает, что потокобезопасность вызовов не гарантирована.
— Ясно. Какие ещё плюшки есть?
► В качестве слотов можно использовать любые методы, в том числе и произвольных классов, не унаследованных от QObject, и даже функции подходящего синтаксиса.
— Погоди, функции?
► Точно так. Функции. Синтаксис connect(&m3,&myClass::mySignal,[](){qDebug() << «AHOY!»;});
— …
— …
► Что-то не так?
— …
— А раньше нельзя было сказать?
► ┐(●´﹏`●)┌
Спасибо! Мне помогло, красиво получилось.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как enum доступным всем сделать, да в мета-тип записать