ich habe in meiner GUI ein Toggle-Widget eingearbeitet. Unten der Code des ToggleFrames. Dies benutze ich in meiner GUI und setze darin Entries und Labels als Tabelle mittels GRID. Das funktioniert schon gut, aber ich möchte alle Tabellen mit gleicher Tabellenspalte, also hatte ich bei den Labels mit width die Breite vorgegeben und damit wurde die sticke-Funktion wieder anuliert.
Wenn ich den Ansatz mit weiteren Frames in der Class ToggleFrame2 versuche, also ein Hauptframe mit den bereits angegebenen Frames als ChildFrames, dann werden diese vor alle GUI-Frames gesetzt.
Ich hatte noch den Ansatz alles mit Grid anzugeben, aber dann kann ich wiederum die Seitenanpassung nicht automatisch machen.
Also alles ziemlich verwirrend. Ich hoffe jemand kann mir dabei helfen. Ich weiß erst einmal nicht, wie ich jetzt weiter machen soll.
Code: Alles auswählen
class GUI()
self.t4 = ToggledFrame2(self.Frame20, text='Daten zum Wagenkasten', relief="raised", borderwidth=1)
self.t4.pack(fill="x", expand=0, pady=2, padx=2, anchor="n")
self.entrys4 = []
self.labels4 = []
c=0
for Text in VehicleMeasure:
self.labels4.append(Label(self.t4.sub_frameCC, text=Text, relief=FLAT, font=("Arial",fontsize_Dateneingabe)))
self.labels4[-1].grid(padx=0, pady=0, row=c, column=0, sticky = W)
self.entrys4.append(Entry(self.t4.sub_frameCC, relief=SUNKEN, font=("Arial",fontsize_Dateneingabe)))
self.entrys4[-1].grid(padx=0, pady=0, row=c, column=1, sticky = E)
entriesA.append(self.entrys4)
c=c+1
Code: Alles auswählen
class ToggledFrame2(Frame):
def __init__(self, parent, text="", *args, **options):
Frame.__init__(self, parent, *args, **options)
self.show = IntVar()
self.show.set(1)
self.title_frame = ttk.Frame(self)
self.title_frame.pack(fill="x", expand=0)
ttk.Label(self.title_frame, text=text, font=("Arial",fontsize_Datenueberschrift), width=100).pack(side="left", fill="x", expand=1)
self.toggle_button = ttk.Checkbutton(self.title_frame, width=100, text='+', command=self.toggle2, variable=self.show, style='TFrame', onvalue=1, offvalue=0)
self.toggle_button.pack(side="left")
self.sub_frameAA = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameBB = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameCC = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameDD = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameEE = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameFF = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameGG = Frame(self, relief="sunken", borderwidth=1)
self.sub_frameAA.pack(fill="x", expand=1)
self.sub_frameBB.pack(fill="x", expand=1)
self.sub_frameCC.pack(side=LEFT)
self.sub_frameDD.pack(side=LEFT, fill=X)
self.toggle_button.configure(text='-')
def toggle2(self):
#ToDo