Bonsoir,

J'ai besoin pour mom programme de changer la couleur d'un wx.CheckBox en fonction d'un texte afficher.

Explication:

J'ai 3 wx.CheckBox et 1 wx.ComboBox. En fonction de la valeur afficher dans le wx.ComboBox je mets en vert certains des trois wx.CheckBox.

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
 
##...Début de mon code...
def Action(evt):
    font4 = wx.NamedColour('Green')
 
    def select_Type_1():
        cb1.SetValue(True)
        cb1.SetForegroundColour(font4)
 
    def select_Type_2():
        cb1.SetValue(True)
        cb2.SetValue(True)
        cb1.SetForegroundColour(font4)
        cb2.SetForegroundColour(font4)
 
    def select_Type_3():
        cb1.SetValue(True)
        cb2.SetValue(True)
        cb3.SetValue(True)
        cb1.SetForegroundColour(font4)
        cb2.SetForegroundColour(font4)
        cb3.SetForegroundColour(font4)
 
    if combo1.GetValue()=='Type 1':
        select_Type_1()
    if combo1.GetValue()=='Type 2':
        select_Type_2()
    if combo1.GetValue()=='Type 3':
        select_Type_3()
 
wx.EVT_TEXT(myframe, ID_Combo1, Action)
##...Suite de mon code...
Dans mon cas, les méthodes SetValue() fonctionnent mais pas les SetForegroundColour()

Par contre si j'appelle la méthode SetForegroundColour(), tout de suite après avoir créé un wx.CheckBox je bien la couleur, donc pour moi la méthode est la bonne... enfin je pense...

Pourquoi???

Merci de votre aide