Tkinter Scrollbar无法拖动求助:仅可点击箭头滚动
解决Tkinter Text组件滚动条滑块无法拖动的问题
嘿,我一眼就看出问题所在了——你的滚动条没在垂直方向上填满可用空间,导致滑块的可拖动区域实际上没生效!
你现在的代码里,虽然正确设置了yscrollcommand和scroll.config(command=message.yview)这两个绑定,但用grid布局时,滚动条默认只会占据刚好能放下自身箭头和滑块的最小高度,和旁边的Text组件高度不匹配。这就导致滑块看起来在那儿,但实际上没有足够的交互区域让你拖动,只能点上下箭头。
只需要给滚动条的grid方法加个sticky="ns"参数就行,让它沿着垂直方向(从北到南)拉伸,和Text组件的高度完全对齐:
import tkinter as tk root = tk.Tk() scroll = tk.Scrollbar(root) # 关键修改:添加sticky="ns"让滚动条垂直填满列空间 scroll.grid(row = 0, column = 1, sticky="ns") message = tk.Text(root, yscrollcommand = scroll.set, height = 25, width = 60) message.grid(row = 0, column = 0) for i in range(50): message.insert(tk.END, f'This is line {i}\n') scroll.config(command = message.yview) root.mainloop()
这样修改后,滚动条的高度就会和Text组件完全一致,滑块的可拖动区域也正常了,你就能随意拖动滑块滚动内容啦!
内容的提问来源于stack exchange,提问作者Mayan
相关产品推荐
相关产品推荐

