Ich arbeite an einer Tkinter GUI und ich möchte Fenstergröße und Positionierung in seiner separaten Klasse hinzufügen. Meine Struktur ist wie folgt:Verwenden Sie eine Klasse, um Parameter in einer anderen Klasse zu setzen - Python
class MainApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.winsize= WinSize(container, 700, 500, 650, 450, True, True)
Ich möchte WinSize
die Geometrie der Hauptanwendung setzen sowie Griff die minsize
, resizeable
in der WinSize Klasse.
class WinSize:
def __init__(self, container, width, height, minx, miny, sizeablex, sizeabley):
self.container = container
self.width = width
self.height = height
self.minx = minx
self.miny = miny
self.sizeablex = sizeablex
self.sizeabley = sizeabley
self.ws = self.container.winfo_screenwidth()
self.hs = self.container.winfo_screenheight()
self.xpos = (self.ws/2) - (self.width/2)
self.ypos = (self.hs/2) - (self.height/2)
Ich habe keine Lösung/Anleitung ausführlich und fand die Suche auf, wie diese umgesetzt in der WinSize
Klasse für diese bestimmte Instanz und/oder Rahmen zu erhalten. Ich möchte dieselbe Klasse verwenden, um Größen und andere Attribute für Popup-Nachrichten/Frames festzulegen, die andere Informationen anzeigen. Die Haupt GUI-Klasse wird von @Bryan Oakley berühmtes Beispiel genommen: https://stackoverflow.com/a/7557028/7703610
Wie rufe ich die geometry
, minsize
und resizeable
von Tk ohne Tk wieder in meine WinSize Klasse zu erben hat und es dann auf die jeweilige Instanz anwenden?
Danke @Bryan Oakley. Liebe, wie einfach du deine Lösungen machst. Ich wünschte, du hättest eine Reihe von Video-Tutorials gemacht und den Rest von uns richtig unterrichtet. Nur eine kurze Frage ... wird "self" im ersten Beispiel in die Variable 'window' übernommen? –