【问题标题】:How to Get Value Out from the Tkinter Slider ("Scale")?如何从 Tkinter 滑块(“Scale”)中获取价值?
【发布时间】:2013-01-08 15:28:36
【问题描述】:

所以,这是我的代码,当我运行它时,滑块的值出现在滑块上方,我想知道有没有办法得到这个值?也许让 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()

【问题讨论】:

    标签: python python-2.7 tkinter


    【解决方案1】:

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

    print scale.get()
    

    请参阅Tkinter Scale widget 文档。

    【讨论】:

      【解决方案2】:

      要获取修改后的值,请将函数与参数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()
      

      【讨论】:

      • 太好了,谢谢你如何将“val”的值分配给变量,因为我在我的程序中将它作为速度控制栏,我需要一个变量(“速度”)在我的程序的其他部分使用 val 的值。非常感谢您的宝贵时间。
      • 在这种情况下,您似乎只想致电scale.get()。或者您是否想在修改比例小部件的值时在其他地方修改值?在这种情况下,您只需在 print_value 函数中执行此操作即可。我需要了解有关您当前问题的更多详细信息以提供进一步帮助。
      • 您可以在函数print_value 中编写代码,以便您可以访问变量val
      【解决方案3】:

      如果你最终解决了问题或者没有给出年龄,我想知道:但我为机器人控制做了一个类似的应用程序。 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 表示速度变量的十分之一)

      【讨论】:

        猜你喜欢
        • 2011-02-25
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 1970-01-01
        • 1970-01-01
        • 2013-09-05
        相关资源
        最近更新 更多