Radiobuttons gruppieren und auslesen

Fragen zu Tkinter.
Antworten
langeLeitung
User
Beiträge: 16
Registriert: Donnerstag 14. April 2005, 12:53

Hallo!

Ich komme mit den Radiobuttons nicht klar.

Code: Alles auswählen

knopf1=0
knopf2=0

Radiobutton(masterframe, variable=knopf1, value=1).grid(...)
Radiobutton(masterframe, variable=knopf1, value=2)
Radiobutton(masterframe, variable=knopf1, value=3)
Radiobutton(masterframe, variable=knopf1, value=4)

Radiobutton(masterframe, variable=knopf2, value=1)
Radiobutton(masterframe, variable=knopf2, value=2)
Radiobutton(masterframe, variable=knopf2, value=3)
Radiobutton(masterframe, variable=knopf2, value=4)
Bei dieser Variante werden die Radiobuttons mit dem gleichen "value" immer identisch gesetzt. Spich: ich klicke den einen an, der andere ändert sich auch.

Wie benutze ich die Radiobuttons richtig? Wie lese ich ihren Zustand aus?

Danke für die Hilfe!
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Hallo,

hier mal ein kleines Beispiel:

Code: Alles auswählen

from Tkinter import *

root = Tk()
masterframe = Frame(root)
masterframe.pack()

knopf1=StringVar() 
knopf2=StringVar()

r1 = Radiobutton(masterframe, variable=knopf1, value=1)
r1.grid(row=1,column=1)
r2 = Radiobutton(masterframe, variable=knopf1, value=2)
r2.grid(row=1,column=2) 
r3 = Radiobutton(masterframe, variable=knopf1, value=3)
r3.grid(row=1,column=3) 
r4 = Radiobutton(masterframe, variable=knopf1, value=4)
r4.grid(row=1,column=4) 

r5 = Radiobutton(masterframe, variable=knopf2, value=1)
r5.grid(row=2,column=1)
r6 = Radiobutton(masterframe, variable=knopf2, value=2)
r6.grid(row=2,column=2) 
r7 = Radiobutton(masterframe, variable=knopf2, value=3)
r7.grid(row=2,column=3) 
r8 = Radiobutton(masterframe, variable=knopf2, value=4)
r8.grid(row=2,column=4)

r1.select()
r5.select()

lb1 = Label(masterframe,textvariable=knopf1)
lb1.grid(row=3,column=1)
lb2 = Label(masterframe,textvariable=knopf2)
lb2.grid(row=4,column=1)


root.mainloop()
Du musst nur die Variable auslesen (z.B. knopf1.get() bzw. knopf2.get() ) oder wie in meinem Beispiel die Variable in einem Label ausgeben. Mit select() kannst du den Radiobutton setzen.

Stephan
langeLeitung
User
Beiträge: 16
Registriert: Donnerstag 14. April 2005, 12:53

Ja :D Vielen Dank! Jetzt läuft es 8)
Antworten