How do I hide the entire tab bar in a tkinter ttk.Notebook widget?

后端 未结 1 1481
醉话见心
醉话见心 2021-01-24 02:12

How do I hide the tab bar in a ttk Notebook widget? I don\'t want to hide the frame that belongs to the tab. I just want to remove the tab bar from sight, even where it\'s not a

相关标签:
1条回答
  • 2021-01-24 02:50

    from the help on tkinter.ttk.Style:

    layout(self, style, layoutspec=None)

    Define the widget layout for given style. If layoutspec is
    omitted, return the layout specification for given style.

    layoutspec is expected to be a list or an object different than
    None that evaluates to False if you want to "turn off" that style.

    try this:

    import tkinter as tk
    from tkinter import ttk
    
    root = tk.Tk()
    
    style = ttk.Style()
    
    style.layout('TNotebook.Tab', []) # turn off tabs
    
    note = ttk.Notebook(root)
    
    f1 = ttk.Frame(note)
    txt = tk.Text(f1, width=40, height=10)
    txt.insert('end', 'Page 0 : a text widget')
    txt.pack(expand=1, fill='both')
    note.add(f1)
    
    f2 = ttk.Frame(note)
    lbl = tk.Label(f2, text='Page 1 : a label')
    lbl.pack(expand=1, fill='both')
    note.add(f2)
    
    note.pack(expand=1, fill='both', padx=5, pady=5)
    
    def do_something():
        note.select(1)
    
    root.after(3000, do_something)
    root.mainloop()
    
    0 讨论(0)
提交回复
热议问题