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

wxPython Discussion :

Bug : 2 frames superposées


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut Bug : 2 frames superposées
    Bonjour à tous,

    Voici un sacré souci. Bien malin celui qui trouvera la solution :

    J'ai une frame qui comporte un listCtrl. Quand je double-clique sur un ligne de ce listCtrl, j'ai une frame classique qui s'ouvre en mode modal. Très simple.

    Sauf que j'arrive à agir sur la frame du dessous A TRAVERS la frame du dessus. Par exemple, si je double-clique à n'importe quel endroit de ma frame du dessus, c'est ma frame du dessous qui répond !!! Bref comme si ma frame du dessus était transparente. C'est le délire.

    Si vous trouvez une solution à ça, chapeau !

  2. #2
    Membre actif
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Tu devrait mettre la partie du code qui lance ta seconde fenetre et l'initialisation de ta seconde fenetre, je pense que ca aiderai,

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut
    Merci de l'intérêt que tu portes à mon problème...

    Le code est tellement long que je vais juste placer ces quelques lignes :

    Frame 1 : l'appel de la 2ème frame

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    frmFiche = FicheIndividuelle.MyFrame(self, IDpersonne=0)
    frmFiche.Show()
    Frame 2 : Initialisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class MyFrame(wx.Frame):
        def __init__(self, parent, id=-1, titre=u"Fiche individuelle", IDpersonne=0):
            wx.Frame.__init__(self, parent, id, titre, name="FicheIndividuelle", style=wx.DEFAULT_FRAME_STYLE)
            self.MakeModal(True)
    ...
    Un INDICE pour la solution : J'ai remarqué que, dans l'appel, quand je mets "None" au lieu de "self", le problème n'apparaît plus. exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frmFiche = FicheIndividuelle.MyFrame(None, IDpersonne=0)
    Mais j'ai besoin du "self" pour la suite. Une idée ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    C'est peut être juste une histoire de dessin à l'écran, alors peut être en donnant le focus à ta seconde fenêtre (ou la première)......

  5. #5
    Membre confirmé Avatar de zabibof
    Inscrit en
    Février 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 188
    Par défaut
    C'est peut-être du côté des gestionnaires d'évènements qu'il faut regarder

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut
    Merci pour vos réponses.

    J'ai la solution mais il m'en a fallu du temps...

    En fait, j'appelais ma frame 2 à partir de la classe d'un listCtrl.

    J'ai donc mis self.GetParent() (le panel parent) au lieu de self ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frmFiche = FicheIndividuelle.MyFrame(self.GetParent(), IDpersonne=0)
    Et hop, c'est bon... Je sais, ça paraît toujours évident après

    Merci quand même pour votre aide.

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

Discussions similaires

  1. Frames superposées 1 visible / 1 invisible.
    Par sopsag dans le forum Tkinter
    Réponses: 5
    Dernier message: 20/09/2010, 12h04
  2. [MooTools] Images superposées : bug IE7
    Par numerodix dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 23/03/2010, 09h42
  3. [VB6]Bug de frame
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 21/04/2006, 21h47

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