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:
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;
        }
    }
}
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...

Tout conseil serait le bienvenue !
Merci d'avance.