OK, vielen Dank für die Hilfe.
Ich werde versuchen mich hinsichtlich meiner Schreibweise zu bessern.
Eine weitere Frage habe ich aber noch. Die gehört dann eher in die Ecke Tkinter-Probleme:
Wenn ich die Variable vom Typ IntVar() in einem Toplevel-Fenster erzeuge, dann muss ich das komischerweise immer als Atttribut des Master-Fensters machen ("self.master.test"), damit die CheckButtons auch gesetzt werden. Eigentlich geht es doch das Master-fenster nichts an, oder?
Code: Alles auswählen
from Tkinter import *
class TestGUI(object):
def __init__(self):
self.master = Tk()
self.init_widgets()
self.master.mainloop()
def init_widgets (self):
btn = Button(master = self.master,
text = 'Configure',
command = lambda: ConfigDia(self.master))
btn.pack()
class ConfigDia(object):
def __init__(self, Master):
self.master = Master
self.top = Toplevel()
self.init_widgets()
def init_widgets(self):
class Test(object):
pass
testDict = {'eins': '1', 'zwei': '0'}
self.master.test = Test()
for i, (name, value) in enumerate(testDict.iteritems()):
int_var = IntVar()
int_var.set(int(value))
setattr(self.master.test, name, int_var)
checkbutton = Checkbutton(self.top, text=name, variable=int_var)
checkbutton.grid(sticky=W, row=i, column=0)
newTestGUI = TestGUI()