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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Аналог PostMessage в винде  (Прочитано 7715 раз)
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« : Февраль 19, 2004, 12:29 »

как в qt вызвать функцию не дожидаясь окончания ее дейиствия продолжить далее

есть только идея с QThread
Записан
alex0303
Гость
« Ответ #1 : Апрель 16, 2006, 09:42 »

Цитата: "Admin"
как в qt вызвать функцию не дожидаясь окончания ее дейиствия продолжить далее


Както не очень понятно что же Вы всётаки хотите.


Если аналог PostMessage() для одного треда то вполне подойдёт:
Код:

void QApplication::postEvent ( QObject * receiver, QEvent * event )
или
void QTimer::singleShot ( int msec, QObject * receiver, const char * member )
с msec = 0;


Если же многопоточная обработка то QThread и межпоточное взаимодействие.
Записан
-=QT=-
Гость
« Ответ #2 : Апрель 03, 2007, 08:23 »

qApp->processEvents();

добавлено спустя 59 секунд:

 Хотя возможно я ошибаюсь.
Записан
goer
Гость
« Ответ #3 : Апрель 03, 2007, 10:21 »

Можно поместить объект, функцию которого ты хочешь вызвать, в другой поток.
Чтоб вызвать функцию - постишь свое событие для этого объекта, а в обработчике события запускаешь свою функцию.
Таким образом она выполнится в другом потоке.
Записан
Gryz
Гость
« Ответ #4 : Апрель 03, 2007, 10:40 »

надо использовать  QMetaObject::invokeMethod с типом соединения Qt::QueuedConnection.

Работает только для слота. При соединении типа Qt::QueuedConnection не может быть возвращаемых значений.

Метод будет вызван после возврата в главный цикл обработки сообщений.

добавлено спустя 2 минуты:

 Вышенаписанное работает как в однопоточном, так и в многопоточном приложении. Соответсвенно, если обращаемся к объекту из другого потока, то его метод будет вызван после возврата в цикл обработки сообщений того потока.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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