当语句为真时试图使对象消失~~~Python Tkinter

Trying to make an object disappear when a statement is true~~~Python Tkinter

我觉得这将有一个真正简单的解决方案,但鉴于我过去三天一直在努力使类似的东西发挥作用,我再次转向这个网站。 我试图让滑块小部件在达到 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)

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

问题似乎是 rectSlider 是一个 Scale 对象,因此检查:

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,小部件就会被销毁。