Russian Qt Forum
Ноябрь 23, 2024, 08:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMetaObject::invokeMethod() в главный поток до QCoreApplication::exec()  (Прочитано 4267 раз)
Akon
Гость
« : Сентябрь 01, 2011, 15:16 »

По ходу сабж не работает?
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Сентябрь 01, 2011, 15:30 »

DirectConnection должен работать и так (хотя в так легче вызвать сам метод).
Для QueuedConnection нужен обработчик событий (в принимающем потоке).  Скорее всего не обязательно нужен QCoreApplication::exec(), сойдёт и периодически вызываемый QCoreApplication::processEvents(), но честно говоря я не проверял.
Записан
Akon
Гость
« Ответ #2 : Сентябрь 01, 2011, 15:48 »

Сорри, забыл: естественно с Qt::QueuedConnection.

Тут проблема в том, что цикл сообщений еще не создан (QCoreApplication::exec() еще не вызван). Поверхносто пройдя по исходникам, не видел, что вызов сбрасывается.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #3 : Сентябрь 01, 2011, 16:11 »

QCoreApplication::processEvents() работает и до вызова QCoreApplication::exec() (проверял с анимированным QSplashScreen).
А вы уверены, что на момент вызова целевой объект уже существует? А то может вы к 0 обратиться пытаетесь?
Записан
Akon
Гость
« Ответ #4 : Сентябрь 01, 2011, 16:43 »

Вопрос снят. Все работает, т.е. QMetaObject::invokeMethod() (равно как и QCoreApplication::postEvent) в главный поток до QCoreApplication::exec(). Было бы неудобно, если бы не работало  Улыбающийся

Ошибочный вывод я сделал на том, что не срабатывала точка останова gdb/mingw/QtCreator. Такое у меня бывало и лечилось перезапуском QtCreator. Это косяк инструментария. Хоть я и пользуюсь отладчиком в такой конфигурации только по мелочам, но получилось напоролся  Грустный

Спасибо за обсуждение.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 22.