Comment mettre à jour le texte d'un Tix.ComboBox?
Question
J'ai un Tix.ComboBox avec un champ de texte éditable. Comment forcer la variable contenant la valeur du texte à mettre à jour?
Laissez-moi vous donner une explication plus concrète. J'ai une liste déroulante et un bouton. Lorsque je clique sur le bouton, une boîte de message contenant la valeur de la liste déroulante apparaît. Supposons que le champ de texte de la liste déroulante ait actuellement la valeur "thing1". Si je tape "nouveau" Dans la boîte puis cliquez sur le bouton avec la souris, le message "thing1" apparaîtra. Si je tape "nouveau" Dans la boîte de dialogue, cliquez sur le bouton "" nouveau ".
Comment puis-je forcer la liste déroulante à mettre à jour sa valeur sans avoir besoin que je la sépare de la liste déroulante?
J'ai inclus un exemple de code.
import Tix
import tkMessageBox
class App(object):
def __init__(self, window):
window.winfo_toplevel().wm_title("test")
self.window = window
self.combo = Tix.ComboBox(window)
self.combo.insert(Tix.END, 'thing1')
self.combo.insert(Tix.END, 'thing2')
self.combo.entry['state'] = "normal"
self.combo['editable'] = True
self.combo.pack()
button = Tix.Button(window)
button['text'] = "Go"
button['command'] = self.go
button.pack()
def go(self):
tkMessageBox.showinfo('info', self.combo['value'])
if __name__ == '__main__':
root = Tix.Tk()
App(root)
root.mainloop()
La solution
woo! résolu moi-même.
Utiliser
self.combo['selection']
au lieu de
self.combo['value']
Autres conseils
NOTE: copie de la réponse de Moe pouvant être sélectionnée comme réponse choisie
woo! résolu moi-même.
Utiliser
self.combo['selection']
au lieu de
self.combo['value']