如何对tkinter Scale widget的某些值执行操作?

2024-06-07 16:50:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python中的Tkinter,我对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”。另外,当我改变刻度的值时,即使数值大于10,也不会与条件匹配。在


Tags: to代码fromselfvalue部件tkinter条件
1条回答
网友
1楼 · 发布于 2024-06-07 16:50:36

您的类型不匹配。value是一个字符串,而不是数字类型,在python2中,*'0'大于10。感谢Tadhg McDonald Jensen指出这种无声错误是python2.*特有的。在

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()

例如

^{pr2}$

在Python 3.*中,您会得到一个错误:

^{3}$

相关问题 更多 >

    热门问题