QTimer::singleShot, QTimer::singleShot VS start()\stop() |
Здравствуйте, гость ( Вход | Регистрация )
QTimer::singleShot, QTimer::singleShot VS start()\stop() |
flankerr |
21.9.2009, 17:55
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Скажем есть необходимость вызова функции по таймеру.
Между завершением работы функции и следующим вызовом должно пройти время сопоставимое со временем выполнения функции. Поэтому простой таймер со start() не подходят. Сейчас я делаю в начале функции stop() а в конце функции - start() Решил попроьбывать вместо обычного таймера start\stop в конце функции ставить QTimer::singleShot Но это срабатывает только один раз. Т.е запускаю функцию запускаетса singleShot ещё раз отрабатывается функция снова делается вызов singleShot но вот он уже впустую - вызов не проходит. В чём грабли ? И есть ли особый смысл в данном случае переходить на QTimer::singleShot ?? |
|
|
Litkevich Yuriy |
22.9.2009, 14:56
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Функция должна вызываться ну скажем 10 раз в секунду. Сама функция можно выполняться от 0 до 100мс. дак, может всё таки не интервал между вызовами задавать. А именно вызывать её периодически и всё. Если есть гарантия, что всегда остаётся пустой промежуток времени (т.е. после выхода из функции и её повторным вызовом.)
|
|
|
Текстовая версия | Сейчас: 18.10.2024, 9:18 |