crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> 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  


Цитата(flankerr @ 22.9.2009, 17:09) *
Функция должна вызываться ну скажем 10 раз в секунду. Сама функция можно выполняться от 0 до 100мс.
дак, может всё таки не интервал между вызовами задавать. А именно вызывать её периодически и всё. Если есть гарантия, что всегда остаётся пустой промежуток времени (т.е. после выхода из функции и её повторным вызовом.)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.10.2024, 9:18