Funktion in ttk.Notebook Tab aufrufen

Fragen zu Tkinter.
Antworten
Fire Spike
User
Beiträge: 329
Registriert: Montag 13. Mai 2019, 16:05
Wohnort: Erde

Ich habe ein Programm mit einer GUI die auf ttk.Notebook basiert.
Wie kann ich jetzt eine Methode von einem Tab in dem Notebook aufrufen?
Unten ist mal ein Beispiel.
Ich versuche jetzt die mache_etwas aufzurufen.
Könnt ihr mit helfen.
LG Fire Spike

Code: Alles auswählen

import tkinter as tk
from tkinter import ttk

class Tab(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.entry = tk.Entry(self)
        self.entry.pack()
        
    def mache_etwas(self):
        print("!")
        
def main():
    root = tk.Tk()
    root.title("Beispiel")
    root_tab = ttk.Notebook(root)
    tab1 = Tab(root_tab)
    tab2 = Tab(root_tab)
    root_tab.add(tab1, text="Beispiel1")
    root_tab.add(tab2, text="Beispiel2")
    root_tab.pack()
    root.mainloop()

if __name__ == "__main__":
    main()
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Fire Spike: Was hat denn das mit `ttk.Notebook` zu tun? Das hat ja nicht mal was mit GUIs zu tun. Man ruft halt die Methode auf. ``tab1.mache_etwas()`` oder ``tab2.mache_etwas()`` in der `main()`-Funktion nach dem das jeweilige Objekt erzeugt und an den Namen gebunden wurde.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten