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 :

SetBackgroundColour et justification des labels


Sujet :

wxPython

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut SetBackgroundColour et justification des labels
    Bonjour,

    J'ai créé une interface dans laquelle mes boutons ont des labels avec le style wx.BU_LEFT | wx.BU_TOP. Mes labels sont donc justifiés en haut à gauche du bouton. Quand je change de couleur avec: monBouton.SetBackgroundColour(wx.RED) je perd la justification. Et même en rajoutant cette ligne: monBouton.SetWindowStyle(wx.BU_LEFT | wx.BU_TOP) je ne retrouve toujours pas ma justification.
    Je galère depuis pas mal d'heure dessus j'aimerai savoir si quelqu'un aurai une solution à ce problème.
    Pour tester simplement j'ai modifié le code de la demo wxPython concernant les Button et c'est pareil.

    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
    import  wx
     
    #----------------------------------------------------------------------
     
    class TestPanel(wx.Panel):
        def __init__(self, parent, log):
            wx.Panel.__init__(self, parent, -1,
                             style=wx.NO_FULL_REPAINT_ON_RESIZE)
            self.log = log
     
            b = wx.Button(self, 10, "Default Button", (20, 20))
            self.Bind(wx.EVT_BUTTON, self.OnClick, b)
            b.SetDefault()
            b.SetSize(b.GetBestSize())
     
            b = wx.Button(self, 20, "HELLO AGAIN!", (20, 80), (120, 45))##, style=wx.NO_BORDER|wx.BU_LEFT|wx.BU_TOP)
     
            #je mets une couleur sur le bouton
            b.SetBackgroundColour(wx.RED)
     
            #là j'essai de forcer la justification
            b.SetWindowStyle(wx.BU_LEFT|wx.BU_TOP)
     
            self.Bind(wx.EVT_BUTTON, self.OnClick, b)
            b.SetToolTipString("This is a Hello button...")
     
            b = wx.Button(self, 40, "Flat Button?", (20,150), style=wx.NO_BORDER)
            b.SetToolTipString("This button has a style flag of wx.NO_BORDER.\nOn some platforms that will give it a flattened look.")
            self.Bind(wx.EVT_BUTTON, self.OnClick, b)
     
     
        def OnClick(self, event):
            self.log.write("Click! (%d)\n" % event.GetId())
     
    #----------------------------------------------------------------------
     
    def runTest(frame, nb, log):
        win = TestPanel(nb, log)
        return win
     
    #----------------------------------------------------------------------
     
     
    overview = """<html><body>
    <h2>Button</h2>
     
    A button is a control that contains a text string or a bitmap and can be
    placed on nearly any kind of window.
     
    </body></html>
    """
     
     
     
    if __name__ == '__main__':
        import sys,os
        import run
        run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
    merci @+

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    Salut !
    avec la démo comme tu le suggères j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    b = wx.Button(self, 20, "HELLO AGAIN!", (20, 80), (120, 45), style=wx.BU_LEFT|wx.BU_TOP)
    #je mets une couleur sur le bouton
    b.SetBackgroundColour(wx.RED)
     
    #là j'essai de forcer la justification
    #b.SetWindowStyle(wx.BU_LEFT|wx.BU_TOP)
    self.Bind(wx.EVT_BUTTON, self.OnClick, b)
    b.SetToolTipString("This is a Hello button...")
    L'alignement est correct : en haut à gauche....

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    Salut,

    Le même code pour moi ne marche pas. Quand j'enlève la ligne :
    b.SetBackgroundColour(wx.RED)
    la justification fonctionne mais quand je la rajoute le bouton est rouge mais mon label est centré.

    J'essaie en utilisant la wx.lib.buttons ça a l'air de mieu fonctionner mais maintenant mes retour chariot "\n" sont affichés par des carrés.

    Merci

Discussions similaires

  1. Modifier des labels sans le code source
    Par Popof dans le forum WinDev
    Réponses: 2
    Dernier message: 12/07/2006, 11h21
  2. Requete créant des Labels Dynamiquement et les placent dans l'ordre
    Par forzaxelah dans le forum Bases de données
    Réponses: 11
    Dernier message: 08/06/2006, 17h35
  3. Utilisation des labels
    Par diden138 dans le forum Langage
    Réponses: 4
    Dernier message: 27/05/2006, 16h20
  4. placement des Label en java
    Par max25b dans le forum Graphisme
    Réponses: 33
    Dernier message: 11/05/2006, 14h27
  5. [VB6] Des labels qui réagissent à la souris
    Par murielle dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 24/10/2002, 14h19

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