I want to align tabs (panes) inside a ttk.Notebook
widget from right to left (the default is from left to right). How might this be done?
Below is my current code:
import Tkinter as tk
import ttk
root = tk.Tk()
root.minsize(300, 300)
root.geometry("1000x700")
box = ttk.Notebook(root, width=1000, height=650)
tab1 = tk.Frame(root)
tab2 = tk.Frame(root)
tab3 = tk.Frame(root)
box.add(tab1, text="tab1")
box.add(tab2, text="tab2")
box.add(tab3, text="tab3")
box.pack(side=tk.TOP)
root.mainloop()
There is actually a style option for this - tabposition.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.minsize(300, 300)
root.geometry("1000x700")
s = ttk.Style()
s.configure('TNotebook', tabposition='ne') #'ne' as in compass direction
box = ttk.Notebook(root, width=1000, height=650)
tab1 = tk.Frame(root)
tab2 = tk.Frame(root)
tab3 = tk.Frame(root)
box.add(tab1, text="tab1")
box.add(tab2, text="tab2")
box.add(tab3, text="tab3")
box.pack(side=tk.TOP)
root.mainloop()
In Oblivion's line:
s.configure('TNotebook', tabposition='ne')
the 'ne' bit can be:
nw => above (north) and to the left (west)
ne => above and to the right (east)
en => to the right (east), at the top
es => to the right (east), at the bottom
se => below (south) and to the right (east)
sw => below (south) and to the left (west)
ws => to the left (west) and to the bottom (south)
wn => to the left (west) and at top
'nw' is, I guess, the more common one, but an application may require it otherwise.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With