Pas de sélection avec Listbox
Dans l'étude d'un nouveau widget, a dire le widget Listbox je suis confronté au problème de ne pas pouvoir accéder a la sélection comme le programme expérimental qui suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| from Tkinter import *
fen= Tk()
list= Listbox (fen)
list.insert(0, a)
list.insert(1, b)
list.insert(2, c)
i= list.curselection()
def test () :
lab.configure(text=i)
lab= Label(fen)
bout= Button(fen, command= test)
list.pack()
lab.pack()
bout.pack()
mainloop() |
Pas facile avec avec ce widget, car n'ayant que peut de doc sur le sujet et m'en etre jamais servi. J'obtiens dans le Label ceçi comme sélection: () et ca ne marche pas non plus avec list.bind("<Button-1>", test).
Merci de me traiter de crétin après m'avoir répondu.:mouarf:
Appelez la police par radio il y a un problème dans la boite
J'ai réussi a mieux comprendre la mécanique des StringVar cependant en suivant l'exemple d'un programme du cour de Swimmen...
extrait du code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
# Nom français et nom technique des quatre styles de police :
stylePoliceFr =["Normal", "Gras", "Italique", "Gras/Italique"]
stylePoliceTk =["normal", "bold", "italic" , "bold italic"]
# Le style actuel est mémorisé dans un 'objet-variable' Tkinter ;
self.choixPolice = StringVar()
self.choixPolice.set(stylePoliceTk[0])
# Création des quatre 'boutons radio' :
for n in range(4):
bout = Radiobutton(self, text = stylePoliceFr[n], variable = self.choixPolice, value = stylePoliceTk[n], command = self.changePolice)
bout.pack(side =LEFT, padx =5)
def changePolice(self):
"""Remplacement du style de la police actuelle"""
police = "Arial 15 " + self.choixPolice.get()
self.texte.configure(font =police) |
Je ne comprend pas comment le StringVar prend (.set()) et renvoi la valeur (.get()) vu que il est initialiser a index[0] de la liste et n'est pas affecter (.set()) par la suite: résultat dans mon programme j'ai le meme problème precedement exposer avec mes Radiobuttons, je n'arrive pas a comprendre comment le StringVar peut prendre automatiquement une des 4 valeurs différentes du Radiobutton.
Passons...8O
J'ai réussi a configurer mon Label, avec un bouton exécutant la configuration une fois le string dans la Listbox choisi, mais je trouve très dommage que je ne trouve pas le moyen de lier la Listbox a un clic de souris pour configurer le Label directement.
Passons...8O
Je n'arrive pas non plus a configurer dynamiquement par Listbox, StringVar etc.. un texte de Label avec des polices de caractères portant des noms composés pourtant je tuple le StringVar car les noms de polices composés, différement des noms de polices composer d'un seul mot qui passe en string, doivent etre contenu dans un tuple, si je ne me trompe pas.
Merci de bien vouloir m'aider sur le point que vous voulez sa sera toujours bienvenue:
-La mécanique des valeurs des Radiobutton.
-Des techniques de binding a une Listbox.
-La configuration de polices a noms composés.