python tkinter实现可以通过点击顶部嵌入式选项卡实现切换的界面
时间: 2023-09-30 07:09:58 浏览: 169
以下是一个简单的Python Tkinter程序,可以通过点击顶部嵌入式选项卡实现切换的界面:
```python
import tkinter as tk
class TabbedFrame(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
# Create the tab bar
self.tab_bar = tk.Frame(self, height=30)
self.tab_bar.pack(fill=tk.X)
# Create the tab buttons
self.tabs = {}
for tab in ("Tab 1", "Tab 2", "Tab 3"):
button = tk.Button(self.tab_bar, text=tab, command=lambda tab=tab: self.switch_tab(tab))
button.pack(side=tk.LEFT)
self.tabs[tab] = button
# Create the content frames
self.frames = {}
for tab in self.tabs.keys():
frame = tk.Frame(self)
frame.pack(fill=tk.BOTH, expand=True)
self.frames[tab] = frame
# Show the first tab
self.current_tab = None
self.switch_tab("Tab 1")
def switch_tab(self, tab):
if self.current_tab:
self.tabs[self.current_tab].config(relief=tk.RAISED)
self.frames[self.current_tab].pack_forget()
self.tabs[tab].config(relief=tk.SUNKEN)
self.frames[tab].pack(fill=tk.BOTH, expand=True)
self.current_tab = tab
# Create the main window
root = tk.Tk()
# Create the tabbed frame
tabbed_frame = TabbedFrame(root)
tabbed_frame.pack(fill=tk.BOTH, expand=True)
# Start the main loop
root.mainloop()
```
这个程序创建了一个名为`TabbedFrame`的自定义Tkinter小部件,它包含一个顶部选项卡栏和内容窗格。在选项卡栏上单击一个选项卡按钮将切换到相应的内容窗格。可以通过添加更多选项卡按钮和窗格来扩展该程序。
阅读全文