Python tool hakkında

bir tool programı yazıyorum ve bir sol menü yaptım alt alta özellikler ekledim ve bu her özelliğe tıkladıgımda her özelliğe göre farklı arayüzler cıksın istiyorum ama ben framelerini ekledim ama gecişlerini yapamadım yardım edebilecek varmı acaba?

bu konu hakkında bilgisi olan yokmu acaba?

Merhaba,

Normalde ttk.Notebook bu iş için biçilmiş kaftan. ttk.Notebook'un, tıklandığı zaman farklı tk.Frame widgetlerini aynı ekrana yerleştiren tabları var. Tıpkı bir web tarayıcının sekmelerinin farklı sayfaları ekrana getirmesi gibi, bu tablar da aynı ekran üzerinde farklı tk.Frame widgetlerini açar.

Örnek:

import tkinter as tk

from tkinter import ttk            

root = tk.Tk()

left_frame = tk.Frame(master=root)
left_frame.pack(side="left")

notebook = ttk.Notebook(master=left_frame)
frame1 = tk.Frame(notebook, bg="red", width=200, height=200)
frame2 = tk.Frame(notebook, bg="blue", width=200, height=200)
notebook.add(frame1, text='Frame 1')
notebook.add(frame2, text='Frame 2')
notebook.pack()

root.mainloop()

ttk.Notebook'a alternatif olarak tk.Button widgetleri de kullanabilirsiniz. Her bir tk.Button widgeti farklı bir tk.Frame widgetini ekrana yerleştirir, yerleştirmeden önce de başka bir tk.Button'un ekrana yerleştirdiği tk.Frame widgetini ekrandan kaldırır.

Aşağıda tk.Button widgeti kullanılan bir örnek görüyorsunuz. Umarım işinize yarar.

import tkinter as tk
        
        
class Button(tk.Button):
    def __init__(self, widget, color, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.frame = tk.Frame(
            master=widget, 
            bg=color,
            width=widget["width"],
            height=widget["height"]
        )
        self.configure(
            command=lambda: self.command(widget=widget),
            width=10
        )
        self.pack(side="left")
        
    def command(self, widget):
        for child in widget.winfo_children():
            child.pack_forget()
        self.frame.pack(expand=True, fill="both")
            

root = tk.Tk()

top_frame = tk.Frame(master=root)
top_frame.pack(expand=True, fill="both")

bottom_frame = tk.Frame(master=root, width=200, height=200)
bottom_frame.pack(expand=True, fill="both")

button1 = Button(
    master=top_frame, 
    widget=bottom_frame, 
    text="Button 1", 
    color="red"
)

button2 = Button(
    master=top_frame, 
    widget=bottom_frame, 
    text="Button 2", 
    color="blue"
)

root.mainloop()

Bakınız: https://youtu.be/5u2805f0xFw

hocam dediğiniz videoya baktıydım bende yaptım ama bu sefer hata oluyor