Radiobutton und seine Variablen
Verfasst: Mittwoch 6. April 2011, 14:11
Hey, ich hoffe jmd vesteht meine Frage:
Ich versuche Radiobuttons einzubauen in mein kleines Programm (das hier noch nicht fertig ist, aber schon angefangen) ich vesteht aber nicht den dickgedruckten Teil, da ich zwar das fenster mit all den Widgets sehe aber immer fehlermeldungen kommen, wenn ich ein Button anklicke. (diese sagen mit var is not defined) ich weiß nur leider nicht wie ich das ändere
letztendlich soll er mit anzeigen, welchen button ich gewählt habe in einem label das sagt: "Du nimmst also ..."
from Tkinter import *
class Rechentrainer:
# Widgets instanzieren ------------------------------
def __init__(self):
self.fenster = Tk()
self.fenster.title('RechenTrainer')
self.fenster.geometry('500x300')
self.titel = Label(master = self.fenster, text = 'Wie gut kannst du Kopfrechnen ?',
font = ('Jokerman', 20), fg = 'darkmagenta')
self.rahmen1 = Frame (master = self.fenster, relief = RIDGE, bd = 2)
self.alabel = Label(master = self.rahmen1, text = "Aufgabenanzahl: ")
self.scale = Scale(master = self.rahmen1, from_=5, to=25, cursor = "hand2", orient=HORIZONTAL)
self.rahmen2 = Frame (master = self.fenster, relief = RIDGE, bd = 2)
self.var = IntVar() :K
self.radiobutton1 = Radiobutton(master = self.rahmen2,text = "Addition +",variable=self.var, value=1,command=sel)
self.radiobutton2 = Radiobutton(master = self.rahmen2,text = "Subtraktion -",variable=self.var, value=2,command=sel)
self.radiobutton3 = Radiobutton(master = self.rahmen2,text = "Multiplikation x",variable=self.var, value=3,command=sel)
self.radiobutton4 = Radiobutton(master = self.rahmen2,text = "Division :",variable=self.var, value=4,command=sel)
self.label = Label(master = self.rahmen2)
self.layout()
self.fenster.mainloop()
# Layout der Widgets-------
def layout(self):
self.titel.pack()
self.alabel.pack(side = LEFT)
self.scale.pack()
self.rahmen1.pack()
self.radiobutton1.pack(anchor=W)
self.radiobutton2.pack(anchor=W)
self.radiobutton3.pack(anchor=W)
self.radiobutton4.pack(anchor=W)
self.label.pack()
self.rahmen2.pack()
def sel():
selection = "Du nimmst also " + str(self.var.get())
self.label.config(text = selection)
# Hauptprogramm ----------------
rechner = Rechentrainer()
Ich versuche Radiobuttons einzubauen in mein kleines Programm (das hier noch nicht fertig ist, aber schon angefangen) ich vesteht aber nicht den dickgedruckten Teil, da ich zwar das fenster mit all den Widgets sehe aber immer fehlermeldungen kommen, wenn ich ein Button anklicke. (diese sagen mit var is not defined) ich weiß nur leider nicht wie ich das ändere

from Tkinter import *
class Rechentrainer:
# Widgets instanzieren ------------------------------
def __init__(self):
self.fenster = Tk()
self.fenster.title('RechenTrainer')
self.fenster.geometry('500x300')
self.titel = Label(master = self.fenster, text = 'Wie gut kannst du Kopfrechnen ?',
font = ('Jokerman', 20), fg = 'darkmagenta')
self.rahmen1 = Frame (master = self.fenster, relief = RIDGE, bd = 2)
self.alabel = Label(master = self.rahmen1, text = "Aufgabenanzahl: ")
self.scale = Scale(master = self.rahmen1, from_=5, to=25, cursor = "hand2", orient=HORIZONTAL)
self.rahmen2 = Frame (master = self.fenster, relief = RIDGE, bd = 2)
self.var = IntVar() :K
self.radiobutton1 = Radiobutton(master = self.rahmen2,text = "Addition +",variable=self.var, value=1,command=sel)
self.radiobutton2 = Radiobutton(master = self.rahmen2,text = "Subtraktion -",variable=self.var, value=2,command=sel)
self.radiobutton3 = Radiobutton(master = self.rahmen2,text = "Multiplikation x",variable=self.var, value=3,command=sel)
self.radiobutton4 = Radiobutton(master = self.rahmen2,text = "Division :",variable=self.var, value=4,command=sel)
self.label = Label(master = self.rahmen2)
self.layout()
self.fenster.mainloop()
# Layout der Widgets-------
def layout(self):
self.titel.pack()
self.alabel.pack(side = LEFT)
self.scale.pack()
self.rahmen1.pack()
self.radiobutton1.pack(anchor=W)
self.radiobutton2.pack(anchor=W)
self.radiobutton3.pack(anchor=W)
self.radiobutton4.pack(anchor=W)
self.label.pack()
self.rahmen2.pack()
def sel():
selection = "Du nimmst also " + str(self.var.get())
self.label.config(text = selection)
# Hauptprogramm ----------------
rechner = Rechentrainer()