Название: run() и exec() Отправлено: akaMDA от Ноябрь 25, 2010, 23:07 Код: void dbWord::run() В цикле производится обработка данных. При этом эти данные приходят из другого потока через сигнал. Будет ли сигнал приходить? Ведь до exec() не дошло еще. Название: Re: run() и exec() Отправлено: BRE от Ноябрь 25, 2010, 23:18 Нет, но можно сделать что-бы доходили.
Название: Re: run() и exec() Отправлено: akaMDA от Ноябрь 25, 2010, 23:25 Как? цикл убрать?
Название: Re: run() и exec() Отправлено: BRE от Ноябрь 25, 2010, 23:28 Как? цикл убрать? Зачем, в нем прокручивать события из очереди.Смотри QEventLoop. Название: Re: run() и exec() Отправлено: akaMDA от Ноябрь 25, 2010, 23:41 Код: void dbWord::run() А сколько событий может храниться в очереди? И сколько событий обработается по processEvents()? Все, что есть в очереди на тот момент, или еще и те, что прибудут во время выполнения? Название: Re: run() и exec() Отправлено: BRE от Ноябрь 25, 2010, 23:51 Ну я бы делал как-то так:
Код
Смотри: bool QEventLoop::processEvents ( ProcessEventsFlags flags = AllEvents ) void QEventLoop::processEvents ( ProcessEventsFlags flags, int maxTime ) enum ProcessEventsFlags Ну и попробуй это погонять... Мне тоже интересно сколько событий может храниться в очереди. :) Название: Re: run() и exec() Отправлено: akaMDA от Ноябрь 26, 2010, 20:00 void QEventLoop::processEvents ( ProcessEventsFlags flags, int maxTime )
при этой функции , если время истекло до конца выполнения слота, то он будет как бы заморожен и доделан? или игнорирован и не выполнен до конца? |