当语句为真时试图使对象消失~~~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,小部件就会被销毁。
我觉得这将有一个真正简单的解决方案,但鉴于我过去三天一直在努力使类似的东西发挥作用,我再次转向这个网站。 我试图让滑块小部件在达到 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,小部件就会被销毁。