Russian Qt Forum
Июнь 16, 2024, 21:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Сколько неактивная система  (Прочитано 16474 раз)
pakulo
Гость
« : Май 18, 2007, 15:58 »

Мне нужно узнать сколько времени прошло после того как пользователь последний раз двинул мышкой или нажал на кнопку клавиатуры... что бы например через 5 минут после отстутсвия каких-либо действий, программа запускала свою работу (ну например перебор чисел), после того как пользователь вернулся, обратно прекращала свою работу.
Записан
kitov
Гость
« Ответ #1 : Май 18, 2007, 16:09 »

Запускай таймер после перехваченного события ,
если получил событие , презапускай таймер , нет - по
истечении запускай свою задачу .
Записан
pakulo
Гость
« Ответ #2 : Май 18, 2007, 21:45 »

да, это понятно... самый простой способ, но возможно есть какие-нить другие варанты?
Записан
fanat9
Гость
« Ответ #3 : Май 18, 2007, 22:24 »

Т.е. есть ли уже такой таймер в системе ?
И тебе всё равно нужен свой таймер, чтобы опросить "что-то" через нужный тебе интервал времени =)
Записан
pakulo
Гость
« Ответ #4 : Май 18, 2007, 22:36 »

ясно, будем думать тогда ))
Записан
Gryz
Гость
« Ответ #5 : Май 19, 2007, 13:40 »

Я думаю, что по таймеру надо сравнивать запомненное положение QPoint QCursor::pos ()  с текущим.
Как с клавиатурой быть, что-то сразу в голову не приходит.
Записан
kitov
Гость
« Ответ #6 : Май 19, 2007, 14:19 »

Цитата: "Gryz"
Я думаю, что по таймеру надо сравнивать запомненное положение QPoint QCursor::pos ()  с текущим.
Как с клавиратурой быть, что-то сразу в голову не приходит.


для клавиатуры QKeyEvent , для мыша QMouseEvent и не надо ни какие позиции сравнивать :-)
Записан
Gryz
Гость
« Ответ #7 : Май 19, 2007, 15:04 »

Если ни одно из окон процесса не является активным, т.е. пользователь вообще не видит нашей программы, а работает, например, в "Проводнике", то никаких QKeyEvent и QMouseEvent наша прога не увидит.
Записан
kitov
Гость
« Ответ #8 : Май 19, 2007, 15:21 »

Цитата: "Gryz"
Если ни одно из окон процесса не является активным, т.е. пользователь вообще не видит нашей программы, а работает, например, в "Проводнике", то никаких QKeyEvent и QMouseEvent наша прога не увидит.


Понятно , нужно определить глобальное бездействие .

добавлено спустя 3 минуты:

 Может с помощью QDesktopWidget ?
Записан
Gryz
Гость
« Ответ #9 : Май 19, 2007, 16:17 »

Нет. Думаю, надо смотреть в QCoreApplication

добавлено спустя 13 минут:

 Я так смотрю, что только средствами Qt это никак не сделать...

добавлено спустя:

 Клавиши можно перехватывать платформозависимым путем:

http://sources.ru/builder/faq/041.html
или
forum.sources.ru
Записан
pakulo
Гость
« Ответ #10 : Май 19, 2007, 17:14 »

Хм... оказалось все не так просто... с мышкой в принципе более-менее понятно, можно узнать глобальное положение мышки и постоянно проверять не равно ли оно предидущему... а вот с клавиатурой проблема... какие могут быть мысли?
Записан
Gryz
Гость
« Ответ #11 : Май 19, 2007, 17:27 »

С мышкой когда работаешь, надо засекать время бездействия.

С клавиатурой стандартными средствами Qt - никак.
Записан
Lion
Гость
« Ответ #12 : Май 21, 2007, 12:06 »

В принципе мышки вполне достаточно, одной клавой мало кто работает.
Записан
Gryz
Гость
« Ответ #13 : Май 21, 2007, 12:32 »

Если только много букв не вводит.
Записан
Lion
Гость
« Ответ #14 : Март 01, 2008, 22:31 »

Ничего нового по этой теме не появилось?
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 20.