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()
War es hilfreich?

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']
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top