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 et BackgrounColour


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 12
    Par défaut Panel et BackgrounColour
    Bonjour

    J'ai un texte dans un panel.
    Je souhaite changer la couleur de fond quand je click sur un bouton. Simple je pensais...
    Problème, seul un rectangle de la largeur du texte change. Pas le panel complet (qui a était "expandé" par le sizer)

    Nom : pb.jpg
Affichages : 492
Taille : 16,3 Ko

    Si quelqu'un peut m'aider, c'est génial !
    Merci d'avance !



    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
    57
    58
    59
     
    import wx 
     
    class PanelText(wx.Panel):
        def __init__(self, parent, id, label,color = (255,255,255),fontsize = 12,**karg):
            wx.Panel.__init__(self, parent, id, **karg)
            self.SetBackgroundColour(color)
            self.txt = wx.StaticText(self,-1, label=label,style=wx.ALIGN_CENTER | wx.ST_NO_AUTORESIZE)
            self.txt.SetFont(wx.Font(wx.FontInfo(fontsize)))
     
            self.box = wx.BoxSizer(wx.HORIZONTAL) 
            self.box.Add(self.txt,1,wx.ALIGN_CENTER)
     
            self.SetSizer(self.box)
     
        def SetLabel(self,label):
            self.txt.SetLabel(label)        
     
    class MyFrame(wx.Frame):
        def __init__(self, parent, id, title):
            wx.Frame.__init__(self, parent, id, title,size=(200,200))
     
            panel = wx.Panel(self)
            hbox = wx.BoxSizer(wx.VERTICAL) 
            self.text = PanelText(panel,-1,"Test",color=(128,128,255),fontsize=16)
     
            but_on = wx.Button(panel, label="Allumage")
            but_off=wx.Button(panel, label="Arret")
     
     
            hbox.Add(self.text,1,wx.ALIGN_CENTER | wx.EXPAND)
            hbox.Add(but_on,1)
            hbox.Add(but_off,1)
     
            self.Bind(wx.EVT_BUTTON,self.on,but_on)
            self.Bind(wx.EVT_BUTTON,self.off,but_off)
     
            panel.SetSizer(hbox)
     
     
        def on(self,event):
            self.text.SetBackgroundColour((120,255,120))
            self.text.SetLabel("ON")
     
        def off(self,event):
            self.text.SetBackgroundColour((255,120,120))
            self.text.SetLabel("OFF")
     
     
     
    class MyApp(wx.App):
        def OnInit(self):
            frame = MyFrame(None, -1, 'wxBoxSizer.py')
            frame.Show(True)
            frame.Center()
            return True
     
    app = MyApp(0)
    app.MainLoop()

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Bonsoir.

    Chez moi cela fonctionne parfaitement, toute la hauteur est bien remplie version 4.0.1 gtk2 (phoenix) de wxpython.

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 12
    Par défaut
    Merci pour ce retour.

    Pénibles les bugs qui dépendent de l'environnement !

    J'ai la version '4.0.0b2 msw (phoenix)' sous python 3.6.3 (anaconda) en 64 bits
    Je vais tenté d'installer wxpython en 32 bits, dès fois que.

    Merci encore

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 12
    Par défaut
    Du coup j'ai la version : '4.0.3 msw (phoenix) wxWidgets 3.0.5' avec python 3.6.3 32 bits

    Malheureusement le bug est toujours là...


    Que signifie le "Gtk2" dans ta version ? [EDIT : j'ai trouvé : linux !]

    C'est quand même bizarre car quand je fais afficher la taille de mon panel, cela correspond à ce qui est colorié, mais pas à la taille réellement affichée.
    Un peu comme si le sizer adaptait la taille du panel mais sans l'informer...

    Je continue de creuser...

Discussions similaires

  1. comment acceder a un component lui meme dans un panel
    Par mimosa7 dans le forum Composants
    Réponses: 2
    Dernier message: 16/11/2003, 23h02
  2. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 22h50
  3. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06
  4. Comment faire un panel non rectangulaire?
    Par grincheux dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/05/2003, 15h47
  5. Prob, images, Panels, et form.
    Par CaptainChoc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 10/05/2003, 10h08

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