如何对tkinter Scale小部件的某些值执行操作?

时间:2016-10-25 16:23:02

标签: python python-2.7 tkinter tkinter-scale

我正在使用Python中的Tkinter,我遇到了Scale小部件的问题。我想要做的是对Scale的某些值进行操作。

以下是Scale代码的一部分:

self.scale = Scale(from_=0, to=100, tickinterval=20, orient=HORIZONTAL, command= self.scale_onChange)

def scale_onChange(self, value):
    if(value >= 10):
        print "The value is ten"

发生了一些奇怪的事情,当我运行脚本时,比例值为0但是条件似乎为真且打印“值为十”。此外,当我更改比例的值时,即使该值大于10,也不会匹配条件。

1 个答案:

答案 0 :(得分:1)

您的类型不匹配。 Traceback (most recent call last): File "/usr/bin/django-admin", line 18, in <module> from django.core import management ImportError: No module named 'django' 是字符串而不是数字类型,在Python 2中。* value大于'0'。感谢Tadhg McDonald-Jensen指出这种无声错误是Python 2特有的。*。

10

e.g。

from Tkinter import *

def scale_onChange(value):
    print(value)
    print(type(value))
    if(value >= 10):
        print "The value is ten"

master = Tk()
scale = Scale(from_=0, to=100, tickinterval=20, orient=HORIZONTAL, command=scale_onChange)
scale.pack()

mainloop()
在Python 3中的

*你出现了错误:

>>> '0' >= 10
True