当一个语句为真时,试图让一个对象消失~~~ Python Tkinter

时间:2016-01-29 16:14:55

标签: python tkinter tkinter-canvas

我觉得这将有一个真正简单的解决方案,但看到我过去三天试图让这样的事情发挥作用,我再次转向这个网站。 我试图使滑块小部件在达到200后消失,而我认为我应该工作,但是因为我对所有东西的致命缺陷,它不是。我有点挣扎,我一直在研究如何设置这样的东西,所以真的,任何帮助都是受欢迎的,非常感谢。

def oneScoop():
    if rectSlider == 200:   
        rectSlider.destroy()
oneScoopButton = Button(root,command = oneScoop, bg="light yellow", text="One Scoop")  
canvas.create_window(400, 40, width=100,height=25,anchor=NW, window=oneScoopButton)

1 个答案:

答案 0 :(得分:3)

我将评论作为正式答案发布,因此我们可以将此问题标记为已解决:

问题似乎是rectSliderScale对象,所以检查:

if rectSlider == 200:

没有意义。修复方法是简单地使用Scale.get()函数来检查值:

if rectSlider.get() == 200:

对于其他遇到类似问题的人来说,这是代码如何运作的一个小例子:

from tkinter import *

master = Tk()

def done():

    if w.get() == 200:
        w.destroy()

w = Scale(master, from_=0, to=200, orient=HORIZONTAL, command = lambda x: done() ) 
w.pack()

mainloop()

一旦Scale小部件的值达到200,小部件就会被销毁。