![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
zss |
![]()
Сообщение
#11
|
Участник ![]() ![]() Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
while(timer.isActive()) -- не дает сработать циклу-обработчику событий, события времени -- обычные события, а ты запуская такой цикл не даешь обрабатывать события из очереди. странно - я думал, что таймеры это объекты режима ядра и выполняются они не в контексте текущего процесса. QCoreApplication::processEvents эта функция принудительно вызывает обработчик событий на месте своего вызова. помогло. спасибо. Но думал, что есть что-то схожее с CreateWaitableTimer, который не зависит от цикла обработки событий. |
|
|
kwisp |
![]()
Сообщение
#12
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
странно - я думал, что таймеры это объекты режима ядра и выполняются они не в контексте текущего процесса. Qt же кросплатформенная - видимо с этим связано выполнение в обработчике событий. может таймер и посчитал всё верно, однако возможно он становится неактивным по приходу события окончания отсчёта, а событие не может быть обработано из за while(timer.isActive()) поэтому происходит зацикливание. по-моему логично. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.7.2025, 21:49 |