ich hab mir ein kleines Programm mit drei Radiobuttons geschrieben:
Code: Alles auswählen
import tkinter
def RadioButtonFunction (Variable):
print ("\n Die Variable des Radiobuttons ist: " + str(Variable))
def start_tkinter ():
root = tkinter.Tk()
RadioButtonValue=tkinter.StringVar()
RadioButtonValue.set("Button3")
widget1 = tkinter.Radiobutton(root, value="Button1", text="Button 1", variable=RadioButtonValue, pady=100, command=RadioButtonFunction(RadioButtonValue.get()))
widget1.pack()
widget2 = tkinter.Radiobutton(root, value="Button2", text="Button 2", variable=RadioButtonValue, command=RadioButtonFunction(RadioButtonValue.get()))
widget2.pack()
widget3 = tkinter.Radiobutton(root, value="Button3", text="Button 3", variable=RadioButtonValue, command=RadioButtonFunction(RadioButtonValue.get()))
widget3.pack()
root.mainloop()
return (RadioButtonValue.get())
def main():
print ("in main")
backwert = start_tkinter()
print ("nach tkinter, backwert = " + str(backwert))
if __name__ == '__main__':
main()http://www.tutorialspoint.com/python/tk_radiobutton.htm
Eigenschaft command= Routine wird gestartet, wenn Wert des Radiobuttons verändert wird.
Beim Starten des Programms wird 3mal die Routine RadioButtonFunction ausgeführt. Aber wenn ich dann in dem Fenster die Radiobuttons anklicke, dann wird die Funktion nicht nochmal aufgerufen - das verstehe ich nicht, denn ich hab doch extra mit command=RadioButton... definiert, dass dann die Routine ausgeführt werden soll.
Kann mir von Euch vielleicht jemand weiterhelfen?
