Bonjour,
J'ai une fenêtre de type QMainWindow a partir de laquelle je lance une commande, qui affiche au-dessus de ma fenêtre principale une fenêtre de résultat (NB: c'est la commande exécutée qui créée la fenêtre, pas mon application, autrement dit c'est pas une fenêtre Qt). Le problème est que quand je veux afficher ma fenêtre principale, la zone qui était masquée ne se redessine pas.
D'après la faq Qt, voila ce que j'ai essaye:
Du coup j'appel update() pour la forcer à se redessiner mais en vain. Comme mon application est gelée ( j'utilise QProcess et non QThread), j'appel QApplication::processEvents() sans résultat. J'ai cherche dans la classe QEvent s'il existait un événement associé a la sélection d'une fenêtre, que je pourrai redéfinir (en appelant update() dedans), j'ai vu QFocusEvent (QFocusEvent::ActiveWindow), c'est en cours de réflexion.
Je ne récupère le contrôle de l'application et l'affichage qu'une fois la fenêtre lancée par la commande fermée.
Donc j'ai 2 questions :
- comment permettre le redessinage de ma fenetre principale quand je recupere son focus ;
- comment dégeler l'application.
Merci pour votre aide.
Partager