Seite 1 von 1

Funktion in ttk.Notebook Tab aufrufen

Verfasst: Sonntag 28. Juni 2020, 13:11
von Fire Spike
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()

Re: Funktion in ttk.Notebook Tab aufrufen

Verfasst: Sonntag 28. Juni 2020, 17:37
von __blackjack__
@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.