Нужно ли мне использовать макрос Q_OBJECT, если я использую только слоты? - PullRequest
1 голос
/ 25 мая 2020

У меня есть несколько классов, которые используют QWebSocket, и, кажется, я могу вызвать connect для обработки обратных вызовов для подключения, закрытия и т. Д. c. Мой отладчик говорит, что все работает правильно.

Если я использую макрос Q_OBJECT в своем классе, мне придется запускать компилятор MO C в моем cmake, что является головной болью при попытке создать библиотеку из моих классов и использовать ее в другом приложении, о котором будет написано отдельное сообщение о.

Если я удалю макрос Q_OBJECT, все будет нормально строиться и работать без него. Итак, вопрос в том, действительно ли он мне нужен, если я просто подключаю сигналы QWebSocket к слотам?

Связанный пост: Использование макроса Qt Q_OBJECT для слотов Однако это для решения ошибка, возникающая из-за неиспользования компилятора MO C. Я знаю, как это сделать, но сомневаюсь, нужен ли мне Q_OBJECT вообще.

1 Ответ

0 голосов
/ 26 мая 2020

Из Qt Ссылка на класс QObject :

Обратите внимание, что макрос Q_OBJECT является обязательным для любого объекта, реализующего сигналы, слоты или свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...