我正在用python创建一个多功能工具,该工具具有可折叠的侧边栏用于导航,但是我对tkinter和python本身还是很陌生,这本身就是我问这个问题的原因。我没有代码,因为这是我想到的第一件事,并且所有教程都涉及Javascript或某种编程语言。
答案 0 :(得分:1)
这是一个如何创建可折叠框架的简单示例。通过将所有侧边栏内容放入框架中,可以使用相同的方法来创建可折叠侧边栏。
import tkinter as tk
class Example(tk.Tk):
def __init__(self):
super().__init__()
self.geometry('300x100')
self.left_frame = tk.Frame(self)
self.left_frame.grid(row=0, column=0, sticky='nsew')
self.right_frame = tk.Frame(self)
self.rowconfigure(0, weight=1)
for i in range(3):
self.columnconfigure(i, weight=1)
tk.Label(self.left_frame, text='Left Frame').grid(row=0, column=0, sticky='nsew')
tk.Label(self.right_frame, text='Right Frame').grid(row=0, column=0, sticky='nsew')
self.frame_status = False
self.ar_btn = tk.Button(self, text="▶", width=1, command=self.toggle_right_frame)
self.ar_btn.grid(row=0, column=2, sticky='nse')
def toggle_right_frame(self):
if self.frame_status:
self.right_frame.grid_forget()
self.frame_status = False
self.ar_btn.config(text="▶")
else:
self.frame_status = True
self.right_frame.grid(row=0, column=1, sticky='nsew')
self.ar_btn.config(text="◀")
Example().mainloop()
结果: