Название: Вопрос о завершении работы приложения через какое-либо время. Отправлено: Foss от Сентябрь 21, 2009, 14:08 Вопрос следующий: есть приложение, написаное на Qt. Необходимо завершение приложения по истечении какого-либо времени (3 мин. например) с момента последнего действия пользователя.
Ищу решение в QApplication - пока безрезультатно. В QTimerе тож решения проблемы не вижу. Если кто сталкивался и решал подобные задачи - отпишитесь плз! Название: Re: Вопрос о завершении работы приложения через какое-либо время. Отправлено: SASA от Сентябрь 21, 2009, 14:25 Я бы завёл в app таймер. Соединил бы его сигнал timeout со слотом QCoreApplication::quit. А по каждому действию перезапускал бы таймер.
Название: Re: Вопрос о завершении работы приложения через какое-либо время. Отправлено: Foss от Сентябрь 21, 2009, 14:40 Я бы завёл в app таймер. Соединил бы его сигнал timeout со слотом QCoreApplication::quit. А по каждому действию перезапускал бы таймер. спасибо! в принципе - первая мысль которая мне пришла в голову полностью совпадает с вашей....но приложение довольно громоздко...и тут хотелось бы чуток схитрить ;) ... в плане отказа от обнуления таймера после каждого действия... хотя как сделать по другому не соображу....( Название: Re: Вопрос о завершении работы приложения через какое-либо время. Отправлено: panAlexey от Сентябрь 21, 2009, 14:56 idle?
Название: Re: Вопрос о завершении работы приложения через какое-либо время. Отправлено: Igors от Сентябрь 21, 2009, 16:50 Может QCoreApplication::setEventFilter? Чтобы там заряжать "время последней активности". А по таймеру сравнить его с текущим.
Название: Re: Вопрос о завершении работы приложения через какое-либо время. Отправлено: SASA от Сентябрь 22, 2009, 11:01 ... в плане отказа от обнуления таймера после каждого действия... хотя как сделать по другому не соображу....( А правда, в чём состоят действия пользователя. Если в событиях клавы или мышки, то перекрываем функцию QCoreApplication::notify. Через неё проходят все евенты. Там и сбрасывать таймер. З.Ы. Иногда приходит евент, что нажата клавиша с сканкодом 0. Глюк какой-то. Название: Re: Вопрос о завершении работы приложения че& Отправлено: Foss от Сентябрь 22, 2009, 13:11 А правда, в чём состоят действия пользователя. именно в событиях клавы или мышки...оки доки - буду пробовать...как тока чаго назреет со знаком "плюс", сообщу :) кстати говоря...я правильно понял что QCoreApplication::setEventFilter или QCoreApplication::notify отслеживают действия мышки&клавы в рамках всего приложения, а не по отдельным виджетам? Название: Re: Вопрос о завершении работы приложения че& Отправлено: SASA от Сентябрь 22, 2009, 19:09 кстати говоря...я правильно понял что QCoreApplication::setEventFilter или QCoreApplication::notify отслеживают действия мышки&клавы в рамках всего приложения, а не по отдельным виджетам? Нет. через QCoreApplication::notify проходят все события. А QObject::setEventFilter нужна, чтобы сначала события приходили (в функцию eventFilter) следящему объекту (не обязательно QCoreApplication), а потом тому, кому событие назначено. |