如何从Tkinter滑块中获取价值(“比例”)?

时间:2013-01-24 19:00:29

标签: python python-2.7 tkinter

所以,这是我的代码,当我运行它时,滑块的值出现在滑块上方,我想知道有没有办法获得该值?也许让a =那个值。 ;)

from Tkinter import *

control = Tk()
control.geometry("350x200+100+50")

scale = Scale(control,orient=HORIZONTAL,length=300,width=20,sliderlength=10,from_=0,to=1000,tickinterval=100)
scale.pack()

control.mainloop()

3 个答案:

答案 0 :(得分:14)

要获取修改后的值,请将函数与参数command相关联。此函数将接收当前值,因此您只需使用它即可。另请注意,您的代码中包含cline3 = Scale(...).pack()。在这种情况下,cline3始终为None,因为这是pack()返回的内容。

import Tkinter

def print_value(val):
    print val

root = Tkinter.Tk()

scale = Tkinter.Scale(orient='horizontal', from_=0, to=128, command=print_value)
scale.pack()

root.mainloop()

答案 1 :(得分:6)

调用滑块上的.get()方法读取当前值:

print scale.get()

请参阅Tkinter Scale widget文档。

答案 2 :(得分:0)

Idk(如果您终于解决了年龄问题):但是我为机器人控制做了一个类似的应用程序。声明和初始化gui之后的基本代码,并对其进行缩放编程:scale(blahblahblah)     Scale.grid(blahblah)

Def forward():
    motor1.forward(scale.get())
    motor2.backward(scale.get())

请紧记:速度值需要1的百分比,因此将刻度设置为:从0到1,间隔为.01或.1(我用.1表示我的速度变量的十分之一)