Qt QMainWindow'da kullanıcının hareketsizliğini nasıl algılayabilirim? Benim fikrim şu ana kadar belli bir değer geçtiyse, uygulamayı kilitleyen bir sayacı artıran bir QTimer'e sahip olmaktır. Herhangi bir fare veya anahtar etkileşimi, zamanlayıcıyı 0'a geri ayarlamalıdır. Bununla birlikte, sıfırlanan giriş olaylarını doğru şekilde nasıl kullanacağımı bilmem gerekir; Ben uygulamak yeniden edebilirsiniz:Qt'de kullanıcı hareketsizliği nasıl tespit edilir?
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
... ama QMainWindow tüm widget olay işleyicileri QMainWindow en ulaşmasını bu denetimlere meydana gelen olayları engel olmaz? Kullanıcı etkinliğini olduğu gibi tespit etmek için daha iyi bir mimari var mı?
İşleri harika, teşekkürler. "ResetMyTimer" olan obj parametresiyle bir sinyal gönderdim ve her pencere sinyali sıfırlama zamanlayıcı yuvasına taktı. Bu, her pencerenin bağımsız olarak kilitlenmesi için * bu * pencere üzerindeki bir pencere öğesinin olayı oluşturup oluşturmadığını kontrol eder. Diğerlerinin –
Olay, yalnızca çocuk widget'larının hiçbiri söz konusu etkinliği ele almazsa yalnızca eventFilter() öğesine gönderilir gibi görünüyor. Tüm olayların başka bir yerde işlenmeden önce bu filtreye gitmesini sağlamanın bir yolu var mı? – KyleL