如何在Python的Tkinter中无需按钮触发动态获取Slider(滑块)的值
实时获取Tkinter滑块值(无需按钮)
要实现无需点击按钮、拖动滑块时实时显示当前值的效果,只需利用Tkinter Scale组件的command参数:每次滑块位置变动时,该参数绑定的函数会被自动触发,且会将当前滑块值作为参数传入函数。
修改后的完整代码如下:
from tkinter import * # 更新滑块值显示的函数 def getVal(current_val): l1.config(text=f"slider value = {current_val}") # UI部分 root = Tk() root.geometry("150x150") v1 = DoubleVar() # 给Scale组件添加command参数,绑定到getVal函数 s1 = Scale(root, variable=v1, from_=1, to=20, orient=HORIZONTAL, command=getVal) s1.pack() l1 = Label(root, text="0") l1.pack() root.mainloop()
关键改动说明
- 给
Scale组件添加command=getVal,滑块每次拖动都会调用getVal函数,并把当前值传进去 - 调整
getVal函数,接收当前滑块值作为参数,直接用该值更新标签内容 - 移除原来的触发按钮,实现实时更新的效果
内容的提问来源于stack exchange,提问作者Pranav K M
相关产品推荐
相关产品推荐

