[bglug] QT, rilevare l'inattività dell' utente
Flavio Castelli
micron@madlab.it
Ven 26 Maggio 2006 17:12:28 CEST
On Friday 26 May 2006 13:27, mlpita@bergamo3.it wrote:
> La domanda è: che funzioni/classi devo usare per gestire (in un unico
> punto, a livello globale) l'attività del mouse e della tastiera?
Come sempre ci sono svariate soluzioni, questo è quello che mi è venuto in
mente...
1) come in ogni programma qt nel tuo main.c ci sarà un'istanza di QApplication
o di QCoreApplication.
Crei una nuova classe che eredita QApplication/QCoreApplication e reimplementi
bool QObject::event ( QEvent * e )
oppure installi un eventFilter
bool QObject::eventFilter ( QObject * watched, QEvent * event )
2) immagino che userai una QMainWidget / QDialog, in questo caso:
a) segui il procedimento indicato al punto precedente
b) reimplementi keyReleaseEvent() e mouse(Move|Press|Release)Event
Così a naso io sceglierei la seconda possibilità (a o b), anche se non ho ben
presente cosa deve fare il programma e come è strutturato.
Mi raccomando, se scegli di reimplementare QObject::event ( QEvent * e ) fai
attenzione a non bloccare gli eventi! Come sempre la documentazione delle Qt
è impeccabile e spiega molto bene il tutto.
I consigli che ti ho dato sono per Qt4, ma se non ricordo male si possono
applicare tranquillamente anche alle Qt3.
Ciao
Flavio
--
|§ micron<- ICQ #118796665
|§ GPG Key:
|§ ~ Keyserver: pgp.mit.edu
|§ ~ KeyID: 6D632BED
~ "Progress is merely a realisation of utopias" ~
Maggiori informazioni sulla lista
bglug