Waitable timer |
Здравствуйте, гость ( Вход | Регистрация )
Waitable timer |
zss |
30.3.2010, 10:27
Сообщение
#1
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
нужно однократное срабатывание таймера с возможностью проверки состояния и запуска заново.
есть ли что для данных целей. |
|
|
Litkevich Yuriy |
30.3.2010, 10:32
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Ну, собственно, QTimer
|
|
|
zss |
30.3.2010, 10:45
Сообщение
#3
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
kwisp |
30.3.2010, 10:52
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
zss,
не то пишешь. читай внимательно документацию по QTimer есть метод void setSingleShot ( bool singleShot ) к примеру + статический метод void singleShot ( int msec, QObject * receiver, const char * member ) |
|
|
zss |
30.3.2010, 10:57
Сообщение
#5
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
30.3.2010, 11:11
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
zss |
30.3.2010, 11:25
Сообщение
#7
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
судя по документации Цитата This property holds whether the timer is a single-shot timer.
A single-shot timer fires only once, non-single-shot timers fire every interval milliseconds. |
|
|
kwisp |
30.3.2010, 11:54
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
zss,
не удивительно, что ничего не поменялось! зачем тебе и таймер и Sleep() ? документацию не читал факт. почему просто нельзя вызвать нужный метод с помощью статического метода ??? QTimer::singleShot(5000,this,SLOT(slMethod())) ================= вот ещё метод от BRE |
|
|
zss |
30.3.2010, 12:39
Сообщение
#9
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
zss, не удивительно, что ничего не поменялось! зачем тебе и таймер и Sleep() ? документацию не читал факт. почему просто нельзя вызвать нужный метод с помощью статического метода ??? QTimer::singleShot(5000,this,SLOT(slMethod())) мне не нужен вызов метода. мне нужно ожидание отработки таймера. Что-то вроде WaitForSingleObject на заданный период времени с возможностью проверки срабатывания. З.Ы. Я вроде и тему так назвал. Sleep, чтоб просто показать, что есть некие действия |
|
|
kwisp |
30.3.2010, 12:44
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Sleep, чтоб просто показать, что есть некие действия замечательно вводит в заблуждение по-моему. while(timer.isActive()) -- не дает сработать циклу-обработчику событий, события времени -- обычные события, а ты запуская такой цикл не даешь обрабатывать события из очереди. вариантов решения проблемы не один. как вариант можно использовать QCoreApplication::processEvents эта функция принудительно вызывает обработчик событий на месте своего вызова. по ссылке мной приведённой ходил? |
|
|
Текстовая версия | Сейчас: 3.1.2025, 7:00 |