Название: Аналог PostMessage в винде Отправлено: Admin от Февраль 19, 2004, 12:29 как в qt вызвать функцию не дожидаясь окончания ее дейиствия продолжить далее
есть только идея с QThread Название: Re: Аналог PostMessage в винде Отправлено: alex0303 от Апрель 16, 2006, 09:42 Цитата: "Admin" как в qt вызвать функцию не дожидаясь окончания ее дейиствия продолжить далее Както не очень понятно что же Вы всётаки хотите. Если аналог PostMessage() для одного треда то вполне подойдёт: Код:
Если же многопоточная обработка то QThread и межпоточное взаимодействие. Название: Аналог PostMessage в винде Отправлено: -=QT=- от Апрель 03, 2007, 08:23 qApp->processEvents();
добавлено спустя 59 секунд: Хотя возможно я ошибаюсь. Название: Аналог PostMessage в винде Отправлено: goer от Апрель 03, 2007, 10:21 Можно поместить объект, функцию которого ты хочешь вызвать, в другой поток.
Чтоб вызвать функцию - постишь свое событие для этого объекта, а в обработчике события запускаешь свою функцию. Таким образом она выполнится в другом потоке. Название: Аналог PostMessage в винде Отправлено: Gryz от Апрель 03, 2007, 10:40 надо использовать QMetaObject::invokeMethod с типом соединения Qt::QueuedConnection.
Работает только для слота. При соединении типа Qt::QueuedConnection не может быть возвращаемых значений. Метод будет вызван после возврата в главный цикл обработки сообщений. добавлено спустя 2 минуты: Вышенаписанное работает как в однопоточном, так и в многопоточном приложении. Соответсвенно, если обращаемся к объекту из другого потока, то его метод будет вызван после возврата в цикл обработки сообщений того потока. |