python - 在 Tkinter 上显示标签一段固定的时间

标签 python python-2.7 user-interface tkinter label

我正在使用 Tkinter 在 Python 2.7 中创建 GUI 应用程序。 我有这段代码:

vis=Label(pur,text='Purchase Added successfully',font=(8))
vis.place(x=150,y=460)

我想知道是否有办法在有限的时间(约3秒)内显示“购买添加成功”标签,然后它就会消失。这是因为我有兴趣在当前“购买”之后添加新的“购买”,并且不希望成功消息重叠。

最佳答案

根据项目模式,有很多方法,所有方法都基于语法:

vis=Label(pur,text='Purchase Added successfully',font=(8))
vis.place(x=150,y=460)
vis.after(3000, function_to_execute)

彻底毁灭

如果您不想知道标签是否已创建、隐藏或为空,并且主要避免可能的内存泄漏(感谢 Bryan Oakley 评论):

vis.after(3000, lambda: vis.destroy() )

但是您需要为每次购买创建一个全新的标签

<小时/>

捉迷藏

以下方法允许禁用标签的显示而不破坏它。

vis.after(3000, lambda: vis.place_forget() )
#vis.after(3000, lambda: vis.grid_forget() ) # if grid() was used
#vis.after(3000, lambda: vis.pack_forget() ) # if pack() was used

然后您可以在下次购买时使用 vis.place(x=150,y=460)

再次启用它 <小时/>

文本橡皮擦

另一种方式,可能不太有趣,除非您更喜欢在容器小部件中保留空标签:

vis.after(3000, lambda: vis.config(text='') )

(请注意,您可以在下次购买时将文本替换为 vis.config(text='blabla'))

关于python - 在 Tkinter 上显示标签一段固定的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46745484/

相关文章:

python - 在 Python 中调用当前类的方法版本

python - CharField 文件名到 Django 中的 ImageFields

java - 输入字符串 : "" 的 NumberFormatException

c++ - 模拟器 c++ 的 GUI 选项

java - 尝试在 java 中使用 list() 或 listFiles() 从目录中获取文件

python - 向 gettext 询问有关 Python 中当前语言和翻译源的信息

python - Pytest 在尝试模拟输入时出现 AttributeError

python - 在不与matplotlib相交的情况下在两个圆圈之间绘制椭圆线

python - python 2.7 中的等效 urllib.parse.quote()

python - 如何连接包含转义字符 "\"的文本