Название: Слоты в потоке Отправлено: ammaximus от Январь 12, 2012, 09:45 Наследую класс от QThread. В наследнике содержится слот и макрос Q_OBJECT соответственно. В Qt4.5 прекрасно работала эта конструкция, но когда перенес в Qt 3.3 стало ругаться на moc_XXX.cpp Какие отличия в старой версии библиотеки?
Название: Re: Слоты в потоке Отправлено: Bepec от Январь 12, 2012, 09:52 Тебе нужно перекомпилить проект. А в дальнейшем, тебе предстоит долгая и мучительная работа по дегрейду.
Отличия можешь смотреть на официальном сайте Qt. (но вопрос глупый помоему) PS ниразу не делал, и не имею желания. Название: Re: Слоты в потоке Отправлено: ammaximus от Январь 12, 2012, 10:07 Лол. Уже перекомпилил проект. Изначально писалось максимально совместимо со старой версией. Документацию читал. У меня конкретный вопрос:
почему не работают слоты в QThread? Название: Re: Слоты в потоке Отправлено: BRE от Январь 12, 2012, 11:01 почему не работают слоты в QThread? Если мне не изменяет память, то в Qt3 QThread не был наследником QObject и соответственно не мог использовать сигналы-слоты.Название: Re: Слоты в потоке Отправлено: andrew.k от Январь 12, 2012, 11:17 почему не работают слоты в QThread? Если мне не изменяет память, то в Qt3 QThread не был наследником QObject и соответственно не мог использовать сигналы-слоты.Лучше бы писали две отдельные версии, чем "максимально совместимо", раз уж вообще возникла такая необходимость, имхо. Либо на тройке. с 3 на 4 перейти почти ничего не стоит. Название: Re: Слоты в потоке Отправлено: ammaximus от Январь 12, 2012, 12:07 по сути я пишу модуль который в промежутке меду 3 и 4 с перспективой перехода только на 4, т.е. на 4 уже есть пишу "второй отдельный". Очень бесит, все в основном из-за нежелания толпы переделывать заново свои проекты((
Можно как то обойти? Множественное наследование от QObject? Мне нужно как то передавать в поток сигналы. Цитировать Если мне не изменяет память, то в Qt3... P.S. Где то год назад перестал поддерживать проекты QT 2.2.2. Такие фразы меня шокируют))Название: Re: Слоты в потоке Отправлено: BRE от Январь 12, 2012, 12:24 Можно как то обойти? Множественное наследование от QObject? Мне нужно как то передавать в поток сигналы. Можно посылать ему сообщения.Название: Re: Слоты в потоке Отправлено: ammaximus от Январь 12, 2012, 12:28 Через события? Столько возни...(
Название: Re: Слоты в потоке Отправлено: Пантер от Январь 12, 2012, 12:31 P.S. Где то год назад перестал поддерживать проекты QT 2.2.2. Такие фразы меня шокируют)) Некрофил. :) Уже 5 не за горами. Я тройку один раз только щупал, когда только приглядывался к Кьюту.Название: Re: Слоты в потоке Отправлено: KrupaKarlo от Январь 12, 2012, 13:34 А я вот недавно сидел и вспоминал на кой черт мы в Qt3 через евенты организовывали взаимодействие потоков, а не через слоты сигналы. Точняк незя было =)))
Название: Re: Слоты в потоке Отправлено: andrew.k от Январь 12, 2012, 14:48 Точно некрофил. Это ж с ума сойти вести несколько проектов в разных qt.
Я когда-то давно потратил неделю и перевел старый проект (30к строк примерно) с 3 на 4, как раз из-за этого ограничения. Никаких проблем не вызвало. Просто занудно. С тех пор о тройке больше не вспоминаю. А если все необходимые сигналы и слоты инкапсулировать в наследник QObject, сделать его дружественным классу потока и членом этого потока например. Покатит, как думаете? ) |