Tk, "<<NotebookTabChanged>>" - EVENT / in verschiedenen Klassen/Tabs nutzen
Verfasst: Samstag 7. Januar 2023, 21:38
Hallo zusammen,
Ich habe ein Tab-Basiertes TK programm, bei dem verschiedene Tabs andere teils beeinflussen sollen.
Bzw. die anderen sollen ihren Inhalt ändern, wenn in einem bestimmten Tab etwas spezielles durch den Nutzer gemacht wird.
Dafür habe ich beim ersten mal das "<<NotebookTabChanged>>" Event genutzt. Dies ermöglicht es dass bei jedem Tab-Wechsel eine entsprechende Funktion im Tab ausgeführt wird.
Da jeder Tab durch eine eigene Klasse repräsentiert wird, das Event jedoch nur die gewünschte Funtkion in der letzten Klasse ausführt in der es im Code ausgeführt wurde:
tabControl.bind("<<NotebookTabChanged>>", lambda x: self.on_tab_change())
Sehe ich keine möglichkeit dass mehrere Funtkionen in den verschiendenen Klassen bei einem Tab-Wechsel stattfinden können.
Eine möglichkeit das Problem zu umgehen sind weitere Prozesse die dann z.B. alle 100ms den Wert einer globalen Variablen abfragen. Aber ich sehe darin nur eine schlechte Lösung.
Habt ihr vielleicht eine Idee, wie dass "<<NotebookTabChanged>>" mehrfach in unterschiedlichen klassen zum Aufruf von Funktionen benutzt werden kann?
Oder eine ganz alternative lösung für dieses Problem?
Schöne Grüße und vielen Dank, Attega
Ich habe ein Tab-Basiertes TK programm, bei dem verschiedene Tabs andere teils beeinflussen sollen.
Bzw. die anderen sollen ihren Inhalt ändern, wenn in einem bestimmten Tab etwas spezielles durch den Nutzer gemacht wird.
Dafür habe ich beim ersten mal das "<<NotebookTabChanged>>" Event genutzt. Dies ermöglicht es dass bei jedem Tab-Wechsel eine entsprechende Funktion im Tab ausgeführt wird.
Da jeder Tab durch eine eigene Klasse repräsentiert wird, das Event jedoch nur die gewünschte Funtkion in der letzten Klasse ausführt in der es im Code ausgeführt wurde:
tabControl.bind("<<NotebookTabChanged>>", lambda x: self.on_tab_change())
Sehe ich keine möglichkeit dass mehrere Funtkionen in den verschiendenen Klassen bei einem Tab-Wechsel stattfinden können.
Eine möglichkeit das Problem zu umgehen sind weitere Prozesse die dann z.B. alle 100ms den Wert einer globalen Variablen abfragen. Aber ich sehe darin nur eine schlechte Lösung.
Habt ihr vielleicht eine Idee, wie dass "<<NotebookTabChanged>>" mehrfach in unterschiedlichen klassen zum Aufruf von Funktionen benutzt werden kann?
Oder eine ganz alternative lösung für dieses Problem?
Schöne Grüße und vielen Dank, Attega