import tkinter as tk
from tkinter import ttk
# 创建主窗口
root = tk.Tk()
root.title("Tab Switcher Example")
# 创建一个Notebook控件
notebook = ttk.Notebook(root)
# 创建多个选项卡
tab1 = ttk.Frame(notebook)
tab2 = ttk.Frame(notebook)
tab3 = ttk.Frame(notebook)
tab4 = ttk.Frame(notebook)
tab5 = ttk.Frame(notebook)
tab6 = ttk.Frame(notebook)
tab7 = ttk.Frame(notebook)
tab8 = ttk.Frame(notebook)
tab9 = ttk.Frame(notebook)
tab10 = ttk.Frame(notebook)
# 将选项卡添加到Notebook中
notebook.add(tab1, text="Tab 11111111")
notebook.add(tab2, text="Tab 2222222222")
notebook.add(tab3, text="Tab 333333333333")
notebook.add(tab4, text="Tab 4444444444")
notebook.add(tab5, text="Tab 555555555555555")
notebook.add(tab6, text="Tab 66666666666666")
notebook.add(tab7, text="Tab 777777777777777")
notebook.add(tab8, text="Tab 88888888888888888888")
notebook.add(tab9, text="Tab 99999999999999999999")
notebook.add(tab10, text="Tab 10111111111111111110")
# 包装Notebook控件
notebook.pack(expand=1, fill='both')
# 全局变量用于存储Notebook
global_notebook = notebook
def update_title():
# 更新窗口标题为当前选项卡的名称
root.title(global_notebook.tab('current')['text'])
def switch_left():
current_index = global_notebook.index('current')
if current_index > 0:
global_notebook.select(global_notebook.tabs()[current_index - 1])
else:
# 如果在第一个选项卡上,切换到最后一个选项卡
global_notebook.select(global_notebook.tabs()[-1])
update_title()
def switch_right():
current_index = global_notebook.index('current')
if current_index < len(global_notebook.tabs()) - 1:
global_notebook.select(global_notebook.tabs()[current_index + 1])
else:
# 如果在最后一个选项卡上,切换到第一个选项卡
global_notebook.select(global_notebook.tabs()[0])
update_title()
# 创建按钮用于切换选项卡
button_left = ttk.Button(root, text="Left", command=switch_left)
button_left.pack(side='left')
button_right = ttk.Button(root, text="Right", command=switch_right)
button_right.pack(side='right')
# 初始更新标题
update_title()
# 运行主循环
root.mainloop()
11-07
268
01-20
2128