Folgendes Konstrukt:
class Application
-def __init__(...)
- container
-frame
-def show_frame .....
class StartPage
-def __init__(...)
-frame
-label
-button(command=lambda: controller.show_frame()
class pageOne
-label
Application ist das Grundgerüst und beinhaltet Funktion show_frame.
Beim Öffnen wird StartPage geladen.
StartPage enhält lediglich ein Label als Platzhalter und einen Button als Funktionstest. Der Button soll über sein command eine Lambda funktion für show_frame aus class Application ausführen.
PageOne enhält lediglich ein Label mit unterschiedlichen Text als Bestätigung des Wechsels.
Pastebin-Link zum Code
Dieses kleine Konstrukt ist soweit im Code meinerseits auch fehlerfrei, bis man den Button für den Frame-Wechsel (Seitenwechsel) drückt, dann kommt folgende Fehlermeldung im Interpreter zurück:
Wo ist mein Fehler hier? Offensichtlich liegt der Ursprung des Fehlers wohl in Zeile 28, dort verwende ich anscheinend irgendein Objekt oder Parameter falsch, was dann wiederum beim Aufruf bei Button-Klick den Fehler generiert da er das deutende Objekt und die dazugehörige Funktion show_frame nicht findet, und der Fehler taucht davor nicht auf da diese Funktion bis zum Aufruf durch des Buttons nicht verwendet wird.Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Stiebler\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "G:\Development\SeaofBTC\main.py", line 39, in <lambda>
command=lambda: controller.show_frame(PageOne))
File "G:\Development\SeaofBTC\main.py", line 28, in show_frame
frame = self.frames[cont]
KeyError: <class '__main__.PageOne'>
PS: extrem vereinfacht und Code reduziert auf ein Minimum