当前位置: 代码迷 >> python >> 如何在每次更新tk滑块时打印其值?
  详细解决方案

如何在每次更新tk滑块时打印其值?

热度:96   发布时间:2023-06-27 21:17:49.0

我的python程序中有一个tk滑块,每当我移动它时,我都试图获得它的值。 程序确实读出了滑块的初始值,但仅此而已。 这是我的代码:

valuelist[50, 100, 150, 200]
class MainApp(Frame):
    def valuecheck(val, self, scale):
        scalepic = scale
        print scalepic.get()
    def createControls(self):
        scalepic = Scale(self, from_=min(valuelist), to=max(valuelist), resolution = 25, orient=HORIZONTAL)
        scalepic.set(100)
        scalepic.configure(command = self.valuecheck(val, scalepic))
        scalepic.pack()
    def __init__(self, parent):
        Frame.__init__(self, parent, width = 800, height = 600)
        self.pack()
        self.createControls()

我尝试将其添加到valuecheck的正文中:

newval = min(valueList, key=lambda x:abs(x-float(val)))
scalepic.set(newval)
print newval

并且在定义scalepic时摆脱了分辨率选项。 我还尝试将scalepic.get()作为val的参数传递。 我还尝试在valuecheck中删除val作为参数,还应该尝试什么?

不要将功能分配给command 使用 。

scalepic.configure(command = lambda :self.valuecheck(scalepic))

还要编辑您的函数:

def valuecheck(self, scale):

因为不需要val

  相关解决方案