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 :

Panel qui disparaît sans raison


Sujet :

wxPython

  1. #1
    Candidat au Club Avatar de Saborage
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Panel qui disparaît sans raison
    Bonjour tout le monde,

    Je suis actuellement entrain de travailler sur un projet personnel, malheureusement, je suis confronté à un problème.
    Nom : avant.PNG
Affichages : 175
Taille : 21,5 Ko
    Ceci est ma frame de départ, je peux y ajouter des éléments pour le moment dans la partie centrale. Mais lorsque je réduis la fenêtre et que je la ré-ouvre, l'ensemble du contenu de mon panel central disparaît.
    Nom : après.PNG
Affichages : 180
Taille : 23,2 Ko
    Auriez-vous une idée sur la cause de la disparition.

    Merci et bon codage

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Points : 163
    Points
    163
    Par défaut
    On peut voir du code....? Sinon ça me semble difficile...

    Surement un problème de refresh sur l'evenement de minimize, mais faudrait tester...

  3. #3
    Candidat au Club Avatar de Saborage
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    from app.wxviews.panels import *
    from wx.lib.floatcanvas import FloatCanvas
    from app.wxviews.items.noderepr import NodeRepr
    from app.wxviews.drawers.nodedrawer import NodeDrawer
    from app.wxviews.items.userrepr import UserRepr
    from app.wxviews.drawers.userdrawer import UserDrawer
     
     
    class PaintPanel(wx.Panel):
        """Canvas to let people draw networks"""
        def __init__(self, parent):
            super(PaintPanel, self).__init__(parent=parent)
            self.network = Engine.Instance().network
     
            szr = wx.BoxSizer()
            self.canvas = FloatCanvas.FloatCanvas(parent=self)
            szr.Add(self.canvas, proportion=1, flag=wx.EXPAND)
            self.SetSizer(szr)
     
            self.Bind(wx.EVT_RIGHT_UP, Engine.Instance().OnRightClick)
            self.canvas.Bind(wx.EVT_RIGHT_UP, Engine.Instance().OnRightClick)
     
            # The following is called a lambda expression:
            # It allows us to define functions on-the-go.
            # It is no more than a function without definition.
            self.canvas.Bind(wx.EVT_LEFT_UP, lambda event, panel=self.canvas: self.OnLeftClick(event))
            self.canvas.Bind(wx.EVT_PAINT, self.OnWindowBack)
            #self.canvas.Bind(wx.EVT_HIBERNATE)
     
        def OnWindowBack(self, event):
            self.Update()
            print("Refresh panel")
     
        def OnLeftClick(self, event):
            if Engine.Instance().toolbarClicked:
                dc = wx.ClientDC(self.canvas)
                if Engine.Instance().item == "Node":
                    x, y = event.GetX(), event.GetY()
                    frontNode = NodeRepr()
                    frontNode.circle = FC.Circle(XY=(x, y), Diameter=NodeDrawer.size)
                    dc.DrawCircle(frontNode.circle.XY[0], frontNode.circle.XY[1], NodeDrawer.size/2)
                    Engine.Instance().releaseFocus()
                    Engine.Instance().AddNode(frontNode)
                if Engine.Instance().item == "User":
                    x, y = event.GetX(), event.GetY()
                    frontUser = UserRepr()
                    frontUser.rectangle = FC.Rectangle(XY=(x, y),WH=(100,100), FillColor='Blue' )
                    dc.DrawRectangle(frontUser.rectangle.XY[0], frontUser.rectangle.XY[1])
                    Engine.Instance().releaseFocus()
                    #Engine.Instance().AddUser(frontUser)
                if Engine.Instance().item == "Branch":
                    x, y = event.GetX(), event.GetY()
     
    if __name__ == '__main__':
        pass
    Voici mon code, j'ai voulu créer une méthode OnWindowBack avec un refresh() ou un update() mais le problème persiste toujours.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Points : 163
    Points
    163
    Par défaut
    Bonjour, pas evident à tester ce code...D'ou vient le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Engine.Instance().network
    ???

    Pour le moment je n'arrive pas encore à le faire tourner ....

Discussions similaires

  1. Label d'en-tête d'un QTableWidget qui change sans raison
    Par alexgille dans le forum Débuter
    Réponses: 1
    Dernier message: 15/03/2011, 19h36
  2. REGEXP_SUBSTR qui mouline sans raison apparente
    Par eparesys dans le forum SQL
    Réponses: 0
    Dernier message: 03/08/2010, 19h20
  3. RuntimeException qui apparait sans raison apparente
    Par m_piou dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 12/09/2008, 17h04
  4. Réponses: 2
    Dernier message: 17/01/2007, 19h23
  5. build.xml qui plante sans raison
    Par marc olivier dans le forum EDI et Outils pour Java
    Réponses: 9
    Dernier message: 17/05/2006, 18h48

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