Russian Qt Forum
Ноябрь 15, 2024, 06:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Idle?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Idle? (Прочитано 4773 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Idle?
«
:
Сентябрь 09, 2009, 14:23 »
Добрый день
Ищу event типа idle (или может он как-то по-другому в Qt называется). Цель: получил idle, сделал порцию расчетов, если надо обновил окно(а). Сижу курю пока придет следующий event idle.
QTimer для этого не подходит.
Спасибо
Записан
BRE
Гость
Re: Idle?
«
Ответ #1 :
Сентябрь 09, 2009, 14:40 »
Цитата: Igors от Сентябрь 09, 2009, 14:23
QTimer для этого не подходит.
Почему ты так думаешь?
Записан
Rcus
Гость
Re: Idle?
«
Ответ #2 :
Сентябрь 09, 2009, 15:14 »
Цитировать
int QCoreApplication::exec () [static]
Enters the main event loop and waits until exit() is called. Returns the value that was set to exit() (which is 0 if exit() is called via quit()).
It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.
To make your application perform idle processing (i.e. executing a special function whenever there are no pending events), use a QTimer with 0 timeout. More advanced idle processing schemes can be achieved using processEvents().
Записан
SABROG
Гость
Re: Idle?
«
Ответ #3 :
Сентябрь 09, 2009, 15:46 »
Оттуда же:
Цитировать
interval : int
This property holds the timeout interval in milliseconds.
The default value for this property is 0. A QTimer with a timeout interval of 0 will time out as soon as all the events in the window system's event queue have been processed.
Кстати вопрос, если это не singleShot() и кроме таймера больше эвентов нет, не подвесит ли это дело приложение?
Записан
BRE
Гость
Re: Idle?
«
Ответ #4 :
Сентябрь 09, 2009, 16:02 »
Цитата: SABROG от Сентябрь 09, 2009, 15:46
Кстати вопрос, если это не singleShot() и кроме таймера больше эвентов нет, не подвесит ли это дело приложение?
Нет.
А как это может подвесить приложение?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Idle?
«
Ответ #5 :
Сентябрь 09, 2009, 16:07 »
Цитата: SABROG от Сентябрь 09, 2009, 15:46
Кстати вопрос, если это не singleShot() и кроме таймера больше эвентов нет, не подвесит ли это дело приложение?
Нет, все нормально, спасибо, Rcus.
После беглого просмотра исходников: создание отсылается в нативняк и затем сигналы принимаются от OS
Записан
SABROG
Гость
Re: Idle?
«
Ответ #6 :
Сентябрь 09, 2009, 16:11 »
Цитата: BRE от Сентябрь 09, 2009, 16:02
А как это может подвесить приложение?
Да бывало такое у некоторых, эмитили сигналы в цикле while(1) в главный поток без пауз и все висло.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...