Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.7.1 - Qt Creator : 4.2.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt4] Mise en avant d'une interface

salut
J'ai une interface (plein ecran) à partir de laquelle je lance word.
Aprés la fermure de word (dont je peux detecter), je veux remettre cette interface en top (mise en avant) c'est à dire elle reprend dessus à toute autres inerfaces.

Pour l'instant, je suis obligé de faire ainsi pour avoir un comportement semblable:

1)reduire mon interface
2) Lui appliquer les status ~Qt::WindowMinimized | Qt::WindowActive
3)mettre à jour l'interface
    myinterface->showMinimized();
myinterface->setWindowState(myinterface->windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
myinterface->update();
C'est pas Top .........Alors est ce que il y un moyen de faire ça proprement sans avoir à reduire mon interface...

Merci d'avance

Réponses

  • December 2008 modifié
    Salut

    je pense que oui mais bon vaut mieux demander un oubli est si vite arriver :)
    tu as essayé show() ou SetVisible(true) ?

    me tape pas trop fort stp :D
  • Elle est déjà visible
    +
    Elle est déjà affichée

    sauf qu'elle en backend
  • a oui... ça aurai pu ^^

    un petit coup d'œil dans la doc --->Methode raise()

    Voila ;)
  • j'ai essayé ça mais ca n,'a pas marché j'ai toujours la fenêtre word.
    NB mon interface est une QMainWindow
  • wassio said:
    J'ai une interface (plein ecran) à partir de laquelle je lance word.
    Aprés la fermure de word (dont je peux detecter), je veux remettre cette interface en top (mise en avant) c'est à dire elle reprend dessus à toute autres inerfaces.
    Si tu la ferme cette fenêtre pourquoi tu dis que tu la encore .... :D
    J'ai pas tout compris ^^
  • word plein ecran==> on ferme le document qui etait dans word l'interface de word reste
  • Désolé pour mon incompréhension mais ce que tu cherche a faire c'est :

    - A la fermeture d'un document Word mais sans fermer l'application tu voudrais faire apparaitre ton interface c'est ça ?

    Si c'est oui, alors tu dis que tu arrive à le détecter et dans ce cas la si tu fait un widget.raise() ca ne marche pas ?

    merci de m'éclairer :)
  • je veux remettre mon interface en top (mise en avant) c'est à dire elle reprend dessus à toute autres
    --> c'est sur quelle n'est pas fermée ;-)
    oui ca n'a pas marché avec la methode raise()
  • Ce n'est donc pas la même application ????

    Car sinon raise permet de passer sur toutes les fenêtres donc bon ....
  • J'ai une idée qui me vient mais je ne suis pas du tout sur de ce que j'avance: as-tu essayé de bricoler les flags de ton appli, notamment le flag Qt::WindowStaysOnTopHint (par exemple activer ce flag au lieu de faire ton minimize, puis le désactiver une fois que ta fenetre est repassée au premier plan) ?
  • comment je vais savoir si la fenêtre est au premier plan pour désactiver ce flag
  • Alors aucune solution à mon problème !!!!

    :-(
  • Salut,

    Si je peux me permettre, se faire voler le focus est une chose très désagréable en tant qu'utilisateur. Si vraiment tu y tiens, alors tu devrais pouvoir passer par SetWindowPos qui fait parti de l'API Win32. Vu que tu parles de Word, ça ne devrait pas être trop gênant d'utiliser cette API.
Connectez-vous ou Inscrivez-vous pour répondre.