這個代碼沒有滾動左側面板中的内容
时间: 2024-02-12 19:04:15 浏览: 56
jQuery+CSS3左侧边栏圣诞老人滑动面板特效.zip
抱歉,我漏看了代码中的一个问题。在创建 Scrollbar 时,你将它的 command 设为了 self.panel_left.yview(),但实际上 self.panel_left 并没有 yview() 方法,应该将 command 设为 self.panel_left_frame.yview()。这样才能实现左侧面板中的内容滚动。修改后的代码如下:
```
class ExcelApp:
def __init__(self, master):
self.master = master
master.title("Excel App")
screen_width = master.winfo_screenwidth()
screen_height = master.winfo_screenheight()
master.geometry("%dx%d" % (screen_width, screen_height))
master.state('zoomed')
# 创建左侧面板,使用 Canvas 和 Frame 实现滚动条
self.panel_left = tk.Canvas(master, width=150, bg='lightcyan')
self.panel_left.pack(side=tk.LEFT, fill=tk.Y)
scroll = tk.Scrollbar(master, command=self.panel_left_frame.yview)
scroll.pack(side=tk.LEFT, fill=tk.Y)
self.panel_left.config(yscrollcommand=scroll.set)
self.panel_left_frame = tk.Frame(self.panel_left)
self.panel_left.create_window((0, 0), window=self.panel_left_frame, anchor='nw')
# 设置滚动条长度
def scroll_update(*args):
self.panel_left.configure(scrollregion=self.panel_left.bbox("all"))
self.panel_left_frame.bind("<Configure>", scroll_update)
scroll_update()
# 其他代码不变
```
这样应该就可以让左侧面板中的内容滚动了。
阅读全文