[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