Russian Qt Forum
Ноябрь 22, 2024, 23:45
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Многопоточное программирование, процессы
>
Слоты в потоке
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Слоты в потоке (Прочитано 5410 раз)
ammaximus
Гость
Слоты в потоке
«
:
Январь 12, 2012, 09:45 »
Наследую класс от QThread. В наследнике содержится слот и макрос Q_OBJECT соответственно. В Qt4.5 прекрасно работала эта конструкция, но когда перенес в Qt 3.3 стало ругаться на moc_XXX.cpp Какие отличия в старой версии библиотеки?
Записан
Bepec
Гость
Re: Слоты в потоке
«
Ответ #1 :
Январь 12, 2012, 09:52 »
Тебе нужно перекомпилить проект. А в дальнейшем, тебе предстоит долгая и мучительная работа по дегрейду.
Отличия можешь смотреть на официальном сайте Qt. (но вопрос глупый помоему)
PS ниразу не делал, и не имею желания.
Записан
ammaximus
Гость
Re: Слоты в потоке
«
Ответ #2 :
Январь 12, 2012, 10:07 »
Лол. Уже перекомпилил проект. Изначально писалось максимально совместимо со старой версией. Документацию читал. У меня конкретный вопрос:
почему не работают слоты в QThread?
Записан
BRE
Гость
Re: Слоты в потоке
«
Ответ #3 :
Январь 12, 2012, 11:01 »
Цитата: ammaximus от Январь 12, 2012, 10:07
почему не работают слоты в QThread?
Если мне не изменяет память, то в Qt3 QThread не был наследником QObject и соответственно не мог использовать сигналы-слоты.
Записан
andrew.k
Гость
Re: Слоты в потоке
«
Ответ #4 :
Январь 12, 2012, 11:17 »
Цитата: BRE от Январь 12, 2012, 11:01
Цитата: ammaximus от Январь 12, 2012, 10:07
почему не работают слоты в QThread?
Если мне не изменяет память, то в Qt3 QThread не был наследником QObject и соответственно не мог использовать сигналы-слоты.
Совершенно верно.
Лучше бы писали две отдельные версии, чем "максимально совместимо", раз уж вообще возникла такая необходимость, имхо.
Либо на тройке. с 3 на 4 перейти почти ничего не стоит.
«
Последнее редактирование: Январь 12, 2012, 11:20 от andrew.k
»
Записан
ammaximus
Гость
Re: Слоты в потоке
«
Ответ #5 :
Январь 12, 2012, 12:07 »
по сути я пишу модуль который в промежутке меду 3 и 4 с перспективой перехода только на 4, т.е. на 4 уже есть пишу "второй отдельный". Очень бесит, все в основном из-за нежелания толпы переделывать заново свои проекты((
Можно как то обойти? Множественное наследование от QObject? Мне нужно как то передавать в поток сигналы.
Цитировать
Если мне не изменяет память, то в Qt3...
P.S. Где то год назад перестал поддерживать проекты QT 2.2.2. Такие фразы меня шокируют))
Записан
BRE
Гость
Re: Слоты в потоке
«
Ответ #6 :
Январь 12, 2012, 12:24 »
Цитата: ammaximus от Январь 12, 2012, 12:07
Можно как то обойти? Множественное наследование от QObject? Мне нужно как то передавать в поток сигналы.
Можно посылать ему сообщения.
Записан
ammaximus
Гость
Re: Слоты в потоке
«
Ответ #7 :
Январь 12, 2012, 12:28 »
Через события? Столько возни...(
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Слоты в потоке
«
Ответ #8 :
Январь 12, 2012, 12:31 »
Цитата: ammaximus от Январь 12, 2012, 12:07
P.S. Где то год назад перестал поддерживать проекты QT 2.2.2. Такие фразы меня шокируют))
Некрофил.
Уже 5 не за горами. Я тройку один раз только щупал, когда только приглядывался к Кьюту.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KrupaKarlo
Гость
Re: Слоты в потоке
«
Ответ #9 :
Январь 12, 2012, 13:34 »
А я вот недавно сидел и вспоминал на кой черт мы в Qt3 через евенты организовывали взаимодействие потоков, а не через слоты сигналы. Точняк незя было =)))
Записан
andrew.k
Гость
Re: Слоты в потоке
«
Ответ #10 :
Январь 12, 2012, 14:48 »
Точно некрофил. Это ж с ума сойти вести несколько проектов в разных qt.
Я когда-то давно потратил неделю и перевел старый проект (30к строк примерно) с 3 на 4, как раз из-за этого ограничения.
Никаких проблем не вызвало. Просто занудно.
С тех пор о тройке больше не вспоминаю.
А если все необходимые сигналы и слоты инкапсулировать в наследник QObject, сделать его дружественным классу потока и членом этого потока например.
Покатит, как думаете? )
«
Последнее редактирование: Январь 12, 2012, 14:51 от andrew.k
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...