2009-10-11 6 views
0

Je suis en train de concevoir quelques widgets simples afin d'obtenir une meilleure connaissance de Qt 4. (Ceci est ma première tentative de programmation de bureau - provenant d'un arrière-plan de développement web)Dans Qt4, existe-t-il un moyen de savoir à l'intérieur d'un widget si le focus a été perdu?

L'un de ces widgets est formé à partir d'une étiquette, et une fenêtre d'outil qui apparaît lorsque l'étiquette est cliquée. Ma question est liée à une méthode pour que le widget original sache quand il perd le focus de souris (c.-à-d., L'utilisateur a cliqué ailleurs que dans le pop-up ou l'étiquette) pour cacher le pop-up.

Répondre

1

Il existe focusInEvent et focusOutEvent événements. Vous pouvez les remplacer pour être averti des changements de focus.

+0

Oui, vous avez raison. J'avais déjà essayé le 'focusOutEvent' ... cependant, après votre réponse, je lui ai donné plus de réflexion et apporté quelques modifications à mon précédent cas de test. Comment je l'ai fait fonctionner est en écrasant le showEvent de la fenêtre pop-up (par défaut, Qt semble ne pas mettre l'accent sur elle, même si elle est levée et devient en haut de la pile de la fenêtre) . Cela signifie que 'focusOutEvent' fonctionne maintenant pour cliquer en dehors de la fenêtre pop-up (ce qui n'était pas le cas auparavant car la fenêtre n'avait pas de focus). Merci. –

Questions connexes