@l2p

Как осуществить connect в отдельном классе?

В созданном классе (новый .h) создал слот. Пытался подключить его коннектом к таймеру, который объявлен в этом же классе, но безуспешно.

\rounds.h:56: ошибка: no matching function for call to 'QObject::connect(QTimer*&, const char [11], CCClass* const, const char [14])'
         QObject::connect(Timer, SIGNAL(timeout()), this, SLOT(Time()));

Как я понял - не срабатывает this, потому что QTimer* Timer = new QTimer(); без this работает, а с ним нет.
  • Вопрос задан
  • 2620 просмотров
Решения вопроса 2
Необходимо унаследовать свой класс от нужного Qt класса и добавить макрос Q_OBJECT.
class Round : public QDialog //или другой Qt класс
{
     Q_OBJECT
//...

Тогда можно будет использовать signal и slot.
Ответ написан
@AlexP11223
Раз Qt5, то использовали бы новый синтаксик:
qt-project.org/wiki/New_Signal_Slot_Syntax

connect(sender, &Sender::signal, receiver, &Receiver::slot);


Может и ошибку бы более понятную выдало.

А чего за this-то? Он QObject?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы