Выравнивание вкладок справа налево с помощью виджета ttk.Notebook

Я хочу выровнять вкладки (панели) внутри виджета ttk.Notebook из справа налево (по умолчанию слева направо). Как это можно сделать?

Ниже мой текущий код:

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()

person user2980054    schedule 29.12.2013    source источник
comment
Чтобы уточнить, вы хотите, чтобы вкладки tab1, tab2 и tab3 отображались в этом порядке, но в правом верхнем углу?   -  person Martin Tournoij    schedule 08.02.2014


Ответы (2)


На самом деле для этого есть вариант стиля — 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()
person Oblivion    schedule 27.02.2014
comment
спасибо ... я думал, что это невозможно сделать, так как я искал несколько дней, чтобы решить эту проблему, но безуспешно ... пока вы не ответили на вопрос .. - person user2980054; 03.03.2014
comment
Любой, кто ищет полноразмерные вкладки с выравниванием по центру, используйте tabposition=tk.NSEW - person Inyoung Kim 김인영; 04.05.2021

В линейке Обливиона:

s.configure('TNotebook', tabposition='ne')

бит «ne» может быть:

nw => above (north) and toe 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», я думаю, является более распространенным, но приложение может потребовать его в противном случае.

person KohanJ    schedule 10.10.2019