2008-09-22 10 views
2

J'ai un Tix.ComboBox avec un champ de texte modifiable. Comment puis-je forcer la variable contenant la valeur pour le texte à mettre à jour? Permettez-moi de donner une explication plus concrète. J'ai une combo et un bouton. Lorsque je clique sur le bouton, une boîte de message s'affiche avec la valeur de la zone de liste déroulante. Disons que le champ de texte de la zone de liste déroulante a actuellement la valeur "thing1". Si je tape "nouveau" dans la case et que je clique sur le bouton avec ma souris, le message "thing1" apparaîtra. Si je tape "nouveau" dans la boîte, puis l'onglet se concentrer loin de la zone de liste déroulante, puis cliquez sur le bouton le message pop-up dit "nouveau".Comment mettre à jour le texte d'un Tix.ComboBox?

Est-ce que je force la boîte combo à mettre à jour sa valeur à nouveau sans avoir besoin de tabulation de la combo?

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() 

Répondre

5

woo! l'a résolu seul.

Utilisez

self.combo['selection'] 

au lieu de

self.combo['value'] 
1

NOTE: Une copie de la réponse de Moe qui peut être sélectionné comme choisi réponse

woo! l'a résolu seul.

Utilisez

self.combo['selection'] 

au lieu de

self.combo['value'] 
+0

Notez que cette réponse existe que pour être choisi comme * la réponse *, de sorte que la question ne se présente pas comme sans réponse; Si vous voulez le revaloriser, vous devriez améliorer la réponse de Moe (http://stackoverflow.com/questions/117211/how-to-update-a-tixcomboboxs-text#117384) – tzot

Questions connexes