2017-04-11 2 views
2

Ich habe eine Funktion (comhelms) an meine Check-Schaltfläche angehängt. Es funktioniert normalerweise, indem ich die Funktion anrufe, wenn ich das Kästchen ankreuze. Wenn Sie das Kontrollkästchen jedoch deaktivieren, wird die Funktion ebenfalls aufgerufen. Wie kann ich das vermeiden?Python tkinter Checkbutton-Problem (das Häkchen bei dem Kontrollkästchen entfernt ruft den angehängten Befehl auf)

i = Checkbutton(helmsframe, variable = helmscblist[i], command = comhelms) 

Antwort

3

Sie können nicht verhindern, dass der Callback aufgerufen wird, wenn Sie die Checkbox deaktivieren. Aber innerhalb der Callback-Funktion, können Sie einfach verwenden, um die zugehörige Variable zu wissen, ob die Box wurde gerade aktiviert oder deaktiviert:

var = tk.IntVar() 

def cb(): 
    if var.get(): 
     print("box checked") 
    else: 
     print("box unchecked") 

c = tk.Checkbutton(parent, variable=var, command=cb) 
Verwandte Themen