Название: Не цепляются слоты Отправлено: Aven от Май 21, 2005, 22:48 Люди! Странные дела творятся!...
Работаю с Qt2.3.0 в VC6.0. К моему удивлению заметил, что сигналы не коннектятся слотам! Для диалога слоты accept и reject срабатывают (если прямо в коннекте прописать), а те, что пишу я - не хотят! :evil: В h-ке объявляю класс, прописываю Q_OBJECT, в конце класса пишу Код:
Для описанной в этой же h-ке кнопки buttonOk в конце конструкта пишу коннект Код:
Естессно, не забыл описать сам слот Код:
Удивительно, но слот не запускается! :shock: Может надо что-то где-то в опциях прописать? Или для винды есть какие-то особенности программирования (в отличие от линукса)? Название: Не цепляются слоты Отправлено: Racheengel от Май 23, 2005, 11:24 а moc уважаемый не забыл вызвать для этого h-файла?
Название: Как бы было не смешно... Отправлено: Metrix от Июль 16, 2007, 14:08 Как бы было не смешно, но сталкнулся с такой же проблемой...
При связывании QAction с методом моего класса. Напряую метод вызывается и корректно работает. Оба и слот и сигнал без аргументов. Название: Не цепляются слоты Отправлено: Sergeich от Июль 16, 2007, 15:06 В moc-файле слот enter() присутствует?
Название: Не цепляются слоты Отправлено: Metrix от Июль 16, 2007, 16:23 Ну допустим что мой метод завется evaluate() (который вызываемый слот) - в moc файле (moc_ScriptObj.cpp) - встречается два раза:
1) Код: static const char qt_meta_stringdata_ScriptObj[] = { 2) Код: int ScriptObj::qt_metacall(QMetaObject::Call _c, int _id, void **_a) Оно? Название: Не цепляются слоты Отправлено: Lion от Июль 16, 2007, 18:26 Возможно проблема в том, что в конструкторе коннектишь, попробуй коннектить вне коструктора.
Название: Не цепляются слоты Отправлено: Sergeich от Июль 16, 2007, 19:55 А что connect возвращает?
Название: Все заработало! Отправлено: Metrix от Июль 17, 2007, 08:49 Как всегда это было скорее из-за кривизны рук! :)
Вообщем я в конструкторе класса пытался сконнектить его метод с методом класса, обьявленного локально. как только я сделал его членом самого класса, то все заработало! Название: Не цепляются слоты Отправлено: pastor от Июль 17, 2007, 11:46 Странно, очень странно
А ты не пробывал писать QObject::connect(бла-бла-бла);? Т.е. дописать QObject:: Название: Не цепляются слоты Отправлено: Metrix от Июль 17, 2007, 11:50 Если честно нет, тк макрос Q_OBJECT и так обьявлен в основном классе (в конструкторе которого и используеться connect)...
Название: Не цепляются слоты Отправлено: pastor от Июль 17, 2007, 11:54 А приведи код как ты коннектил в конструкторе.
Случайно не так: Код:
Если по такому принципу (не динамически создавал объект, а в стеке), то нет ничего удивительного, почему не работает коннект. Название: Не цепляются слоты Отправлено: Metrix от Июль 17, 2007, 12:02 Вообще да! Я же писал выше, что в этом то и трабл и то что я его исправил! :)
Название: Не цепляются слоты Отправлено: pastor от Июль 17, 2007, 12:10 Просто небыло указано как был создан объект: в стеке или динамически. Если в стеке - то работать не будет.
|