欢迎访问宙启技术站
智能推送

tkinter.ttk中的标签页控件应用

发布时间:2023-12-25 00:46:30

标签页控件是tkinter.ttk模块中提供的一个可以容纳多个页面的控件,每个页面都可以包含其他的控件。标签页控件可以帮助用户在不同的页面之间进行切换,从而实现多个页面的组织和展示。

下面是一个使用标签页控件的简单示例,它包含两个页面:一个页面显示一个按钮,另一个页面显示一个标签和一个输入框。

import tkinter as tk
from tkinter import ttk

def show_page(page):
    # 隐藏所有的页面
    for p in pages:
        p.grid_remove()
    
    # 显示选中的页面
    page.grid()

root = tk.Tk()
root.geometry("300x200")

# 创建一个标签页控件
tab_control = ttk.Notebook(root)
tab_control.pack(fill=tk.BOTH, expand=True)

# 创建两个页面,并添加到标签页控件中
page1 = ttk.Frame(tab_control)
page2 = ttk.Frame(tab_control)
tab_control.add(page1, text="Page 1")
tab_control.add(page2, text="Page 2")

# 在页面1中添加一个按钮
button = ttk.Button(page1, text="Click Me")
button.pack(pady=20, padx=20)

# 在页面2中添加一个标签和一个输入框
label = ttk.Label(page2, text="Enter your name:")
label.pack(pady=10)
entry = ttk.Entry(page2)
entry.pack(pady=10, padx=20)

# 将页面保存到列表中
pages = [page1, page2]

# 默认显示      个页面
show_page(page1)

root.mainloop()

上述示例中,我们首先创建了一个标签页控件tab_control,然后创建了两个页面page1page2,并将它们添加到标签页控件中。在页面1中添加了一个按钮,页面2中添加了一个标签和一个输入框。

接着我们定义了一个show_page函数,用来控制显示选中的页面。在函数中,我们使用grid_remove方法隐藏了所有的页面,并通过grid方法显示选中的页面。

最后,我们默认显示 个页面page1,并通过root.mainloop()启动了主事件循环。

运行代码,将会显示一个带有两个标签页的窗口。点击标签页切换按钮,可以在页面1和页面2之间进行切换。