如何调整Tkinter垂直Notebook标签页至左侧顶部?
解决方案
要将垂直标签页从左侧下方调整到左侧顶部,只需修改ttk.Style中tabposition的参数值:
- 原参数
tabposition='ws'表示左侧(West)+ 底部(South)对齐,标签会从下往上排列 - 修改为
tabposition='wn'后,表示左侧(West)+ 顶部(North)对齐,标签会从上往下排列,对应你需要的左侧顶部位置
修改后的完整代码:
import tkinter as tk import tkinter.ttk as ttk class VNotebook(ttk.Notebook): def __init__(self, *args, **kwargs): style = ttk.Style() # 将tabposition从'ws'改为'wn' style.configure("TNotebook",tabposition='wn', borderwidth=0) super().__init__(*args, **kwargs) root = tk.Tk() root.geometry("450x400+525+350") root.after(1, lambda: root.focus_force()) tabs = VNotebook(root) tabs.pack(expand=True, fill="both") tab1 = tk.Frame(tabs) tab2 = tk.Frame(tabs) tab3 = tk.Frame(tabs) tab4 = tk.Frame(tabs) tab5 = tk.Frame(tabs) tabs.add(tab1, text="tab1") tabs.add(tab2, text="tab2") tabs.add(tab3, text="tab3") tabs.add(tab4, text="tab4") tabs.add(tab5, text="tab5") root.mainloop()
补充说明:tabposition的参数格式为[方向][对齐],方向可选n(北/上)、e(东/右)、s(南/下)、w(西/左),对齐方向配合主方向使用,比如右侧标签要顶部对齐就用en,底部对齐用es。
内容的提问来源于stack exchange,提问作者GhostShadow
相关产品推荐
相关产品推荐

