Bonjours à tous,
J'ai lu ce tutoriel expliquant comment créer sa propre classe de fenêtre. Cependant, dans l'exemple présenté dans le tuto il n'est pas possible de minimiser la fenêtre en cliquant sur la barre des tâches (bizarrement cela marche dans le sens inverse: on peut restaurer la fenêtre à partir de la barre des tâches).
J'ai cherché un éventuel signal permettant de signaler un clic sur la barre des tâches mais je n'ai rien trouvé. Par contre en ré-implémentant la méthode changeEvent() du widget et en testant si l'événement est du type QEvent::ActivationChange j'arrive à détecter les clics de l'utilisateur.
J'ai donc écrit ce bout de code:
Lorsque je clic dans la barre des tâches, la fenêtre se minimise mais elle est restaurée tout de suite après... J'ai cherché pendant des heures une méthode mais je n'ai rien trouvé qui fonctionne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void CustomWindow::changeEvent(QEvent *event) { static bool b = false; if(event->type() == QEvent::ActivationChange) { if(!isMinimized() && b) { showMinimized(); b = false; } else { b = true; } } }
Tout conseil serait le bienvenue !
Merci d'avance.
Partager