python tkinter实现可以通过点击选项卡实现切换的界面
时间: 2023-10-01 10:06:55 浏览: 123
下面是一个简单的示例代码,实现了通过点击选项卡实现切换的界面:
```python
import tkinter as tk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title("选项卡切换示例")
self.geometry("400x300")
self.create_widgets()
def create_widgets(self):
self.tabs = tk.Frame(self)
self.tabs.pack(fill="both", expand=True)
self.tab1 = tk.Frame(self.tabs)
tk.Label(self.tab1, text="这是选项卡1的内容").pack()
self.tab2 = tk.Frame(self.tabs)
tk.Label(self.tab2, text="这是选项卡2的内容").pack()
self.tab3 = tk.Frame(self.tabs)
tk.Label(self.tab3, text="这是选项卡3的内容").pack()
self.tab4 = tk.Frame(self.tabs)
tk.Label(self.tab4, text="这是选项卡4的内容").pack()
self.tab5 = tk.Frame(self.tabs)
tk.Label(self.tab5, text="这是选项卡5的内容").pack()
self.tab_buttons = tk.Frame(self)
self.tab_buttons.pack(side="bottom")
self.tab1_button = tk.Button(self.tab_buttons, text="选项卡1", command=lambda: self.show_tab(self.tab1))
self.tab1_button.pack(side="left", padx=5, pady=5)
self.tab2_button = tk.Button(self.tab_buttons, text="选项卡2", command=lambda: self.show_tab(self.tab2))
self.tab2_button.pack(side="left", padx=5, pady=5)
self.tab3_button = tk.Button(self.tab_buttons, text="选项卡3", command=lambda: self.show_tab(self.tab3))
self.tab3_button.pack(side="left", padx=5, pady=5)
self.tab4_button = tk.Button(self.tab_buttons, text="选项卡4", command=lambda: self.show_tab(self.tab4))
self.tab4_button.pack(side="left", padx=5, pady=5)
self.tab5_button = tk.Button(self.tab_buttons, text="选项卡5", command=lambda: self.show_tab(self.tab5))
self.tab5_button.pack(side="left", padx=5, pady=5)
self.show_tab(self.tab1)
def show_tab(self, tab):
self.tab1_button.config(relief="raised")
self.tab2_button.config(relief="raised")
self.tab3_button.config(relief="raised")
self.tab4_button.config(relief="raised")
self.tab5_button.config(relief="raised")
tab.tkraise()
tab.focus_set()
if tab == self.tab1:
self.tab1_button.config(relief="sunken")
elif tab == self.tab2:
self.tab2_button.config(relief="sunken")
elif tab == self.tab3:
self.tab3_button.config(relief="sunken")
elif tab == self.tab4:
self.tab4_button.config(relief="sunken")
elif tab == self.tab5:
self.tab5_button.config(relief="sunken")
if __name__ == "__main__":
app = App()
app.mainloop()
```
运行该代码,可以看到一个带有选项卡的窗口,点击选项卡按钮可以切换内容页。
阅读全文