如何从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
我不知道你最后是否解决了这个问题,但我做过一个类似的应用程序,用于机器人控制。在图形界面(GUI)声明和初始化之后,基本代码是这样的: scale(blahblahblah) Scale.grid(blahblah)
Def forward():
motor1.forward(scale.get())
motor2.backward(scale.get())
记住:速度值需要是1的百分比,所以把比例设置为:从0到1,间隔可以是0.01或0.1(我用了0.1来表示我的速度变量的十分之一)
13
16
为了在值被修改时获取它,你需要把一个函数和参数 command
关联起来。这个函数会接收到当前的值,所以你只需要对这个值进行操作。还有一点要注意的是,你的代码中有 cline3 = Scale(...).pack()
。在这种情况下,cline3
总是会是 None,因为 pack()
返回的就是 None。
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()