Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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 at the top of the screen (for more than one purpose).

Anyway, it would be nice for fullscreen mode.

like image 579
Brōtsyorfuzthrāx Avatar asked Dec 09 '25 07:12

Brōtsyorfuzthrāx


1 Answers

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()
like image 158
Oblivion Avatar answered Dec 11 '25 20:12

Oblivion



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!