Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Егор от Апрель 06, 2015, 17:36



Название: Соединение сигнала со слотом.
Отправлено: Егор от Апрель 06, 2015, 17:36
Не могу соединить сигнал со слотом.

На этой строке получаю ошибку: no matching function for call to 'MainClass::connect(QTimer*&, const char*, Egg*&, const char*).
Код:
connect(timer, SIGNAL(timeout()), egg, SLOT(eggRoll()));

Переменные объявлены в классе MainClass:
Код:
    //Объект класса "Яйцо"
    Egg *egg;
    //Объект класса "QTimer"
    QTimer *timer;

Q_OBJECT подключён.


Название: Re: Соединение сигнала со слотом.
Отправлено: __Heaven__ от Апрель 06, 2015, 17:38
Egg наследован от QObject?


Название: Re: Соединение сигнала со слотом.
Отправлено: Егор от Апрель 06, 2015, 17:46
Конечно же ничего я не наследовал....Спасибо.


Название: Re: Соединение сигнала со слотом.
Отправлено: Егор от Апрель 06, 2015, 19:10
Чтобы не создавать новую тему, напишу прямо здесь. В слот мне необходимо передать указатель на класс, из которого вызывается слот. В самом вызове передаю this:
Код:
ball->move(this);

Но в классе Ball получаю такую ошибку: 'MainClass' has not been declared. mainclass.h подключён.
Код:
void move(MainClass* mainClass);


Название: Re: Соединение сигнала со слотом.
Отправлено: __Heaven__ от Апрель 06, 2015, 19:15
В асистенте см. QObject::sender()