Wie ein Tix.ComboBox Text aktualisieren?
Frage
Ich habe einen Tix.ComboBox mit einem bearbeitbaren Textfeld. Wie erzwinge ich die Variable den Wert für den Text halten zu aktualisieren?
Lassen Sie mich eine konkretere Erklärung geben. Ich habe ein Kombinationsfeld und eine Schaltfläche. Wenn ich auf die Schaltfläche klicken, erscheint eine Meldung mit dem Wert des Kombinationsfelds auf. Angenommen, das Textfeld Kombinationsfeld zur Zeit den Wert „thing1“ hat. Wenn ich „neu“ in das Feld eingeben und dann mit meiner Maus auf die Schaltfläche klicken, wird die Meldung „thing1“ erscheint. Wenn ich „neu“ in dem Feld eingeben und dann aus dem Kombinationsfeld Registerkarte Fokus weg und klicken Sie dann auf die Schaltfläche die Pop-up-Nachricht sagt „neu“.
Ho erzwinge ich das Kombinationsfeld zu neuen, es ist Wert zu aktualisieren, ohne dass ich Tab weg von der Combo-Box erforderlich ist?
Ich habe Beispielcode enthalten.
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()
Lösung
woo! löst es auf meinem eigenen.
Mit
self.combo['selection']
statt
self.combo['value']
Andere Tipps
Hinweis: Kopie von Moe Antwort, die als gewählte Antwort ausgewählt werden kann
woo! löst es auf meinem eigenen.
Mit
self.combo['selection']
statt
self.combo['value']