wo finde ich Infos über dei Verwendung von pack() und grid()? Ich kann den Code unten laufen lassen, nur wenn ich "self.Group.pack()" gegen "self.Group.grid()" tausche funktioniert es nicht. Bisher hatte ich die Erfahrung gemacht, daß grid() und pack() nicht gemeinsam verwendet werden können. Was ist jetzt aber "gemeinsam". Hier muss ich pack() anscheinend wegen der "Dialog"-Klasse verwenden, doch checkbutton kann mit grid() arragiert werden ????
Edit: Übrigens wäre es mir lieber immer grid() verwenden zu können, um eine bessere Kontrolle über die Anordnung der Widgets zu haben.
Code: Alles auswählen
from Tkinter import *
import tkSimpleDialog
class ConfigDia(tkSimpleDialog.Dialog):
def __init__(self, master):
tkSimpleDialog.Dialog.__init__(self,master)
def body(self, master):
self.Group = LabelFrame(self, text = "Test", padx = 5, pady = 5)
self.Group.grid()
self.param = {'Key_1': '1',
'Key_2': '0'}
self.GroupDict = {'Key_1': 'One',
'Key_2': 'Two'}
for i, (key, value) in enumerate(self.GroupDict.iteritems()):
int_var = IntVar()
int_var.set(int(self.param[key]))
setattr(self.Group, key, int_var)
checkbutton = Checkbutton(self.Group, text=value, variable=int_var)
checkbutton.grid()
class Main(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.Init_widgets()
def Init_widgets(self):
DevConfigBtn = Button(master = self,
text = 'Configure',
command = lambda: ConfigDia(self))
DevConfigBtn.pack()
root = Tk()
main = Main(root)
main.grid()
root.mainloop()