IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Llimiter l'affichage de dialogues "modeless"


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut Llimiter l'affichage de dialogues "modeless"
    Salut,

    J'ai un programme qui possède une fenêtre principale A, un des bouton présent déclenche l'apparition d'une autre fenêrte, la fenêtre B. Lorsque la fenêtre B est présente on peut toujours manipuler A, B est donc modless (je crois que c'est comme ça qu'on dit...). Je voudrais éviter que l'utilisateur puisse faire apparaître plusieurs fenêtres B.

    J'ai donc pensé utiliser une simple variable booléenne, et donc faire en sorte que la cration de B dépende de la valeur de cette variable. Jusque là, ça va. Maintenant, il faut évidemment qu'une fois B détruite, la variable change de valeur, et c'est là où je pêche.

    J'avais pensé connecter le signal "destroyed(QObject*=0)" de B à une fonction, fonction qui en premier lieu deconnecte ce lien, change l'état de la variable, et appelle la fonction destroy() de B. Mais, la fameuse fonction n'est jamais appelée (je parle pas de destroy())...

    Plusieurs questions donc:
    _Quand est emmit le signal destroyed(QObject*=0) ? (d'ailleurs l'argument me semble bizard pour du python, ce serait pour la version C que ça m'étonerait pas)
    _Quel signal est emmit lorsequ'on clique sur la petite croix de la fenêtre pour la fermer ?
    _Où bien quelle solution proposeriez-vous pour éviter d'avoir plusieurs fois la même fenêtre (hormis une solution serveur/client)?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Pour ma part, ce que je fais c'est que je crée un seul objet correspondant à la fenêtre B, et je me contente de faire un show(), par défaut cliquer sur le bouton fermer ne détruit pas la fenêtre mais se contente de la cacher.

  3. #3
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    C'est exactement comme ça que j'ai procédé

    Je venais pour dire que j'avais trouvé le signal émit par un QDialog lorsque l'on cliquait sur la croix, c'est tout bêtement "rejected()", logique !

    Dans tous les cas, merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage de donnée avec double quote
    Par artichaudd dans le forum Langage
    Réponses: 4
    Dernier message: 24/11/2011, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo