| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Сигналы и потоки. |
| Автор: Elfet 19.1.2010, 13:23 | ||||||
| Приветствую! Пожалуйста, помогите понять почему не хочет работать сигнал из потока?
Выдаёт следующую ошибку:
Заранее спасибо! |
| Автор: chaos 19.1.2010, 13:36 |
| Elfet, судя по ошибкам дело не в потоке и не в сигнале. давай кусок MainWindow |
| Автор: Elfet 19.1.2010, 13:44 | ||||||
Вот так соединяю:
|
| Автор: chaos 19.1.2010, 14:05 | ||||||||
тут вроде все нормально. файлы IterationThread.h & IterationThread.cpp прописаны в файле проекта(pro) ? Если да попробуй выполнить еще раз qmake |
| Автор: SABROG 19.1.2010, 15:35 |
| Попробуй make clean && qmake && make |
| Автор: andrew_121 19.1.2010, 21:02 |
такие ошибки всегда говорят о том, что файл не "скормлен" moc-у. или "скормлен", но результат работы moc-а не добавлен к сборке. |
| Автор: Elfet 19.1.2010, 23:32 |
| SABROG, а это как сделать? В я этом ещё не особо разбираюсь. andrew_121, так что же нужно делать? То что рекомендует SABROG? |
| Автор: SABROG 19.1.2010, 23:35 |
| Как программу собираешь из консоли или из QtCreator'a, или из студии? Если из QtCreator'a, то там Clean Project / Rebuild Project. |
| Автор: Elfet 20.1.2010, 01:10 |
| Из QtCreator'a. Вроде бы получилось! Огромное спасибо! Теперь так каждый раз собирать придётся? |
| Автор: chaos 20.1.2010, 08:29 |
только в том случае если ты добавляешь класс с Q_OBJECT не с помощью визарда |
| Автор: SABROG 20.1.2010, 10:06 |
| И еще в том случае, если ты удаляешь/меняешь/добавляешь заголовки (#include), потому, что qmake проходится по всем .cpp, .h файлам и ищет заголовки, которые вставит в итоговый makefile. Если этого не делать, то компилятор может не увидеть любых изменений в заголовках и будут использоваться старые объектники, где вместо нового qDebug("Hello, world!") будет выводится какой-нибудь qDebug("Bye Bye, world!") |