我是python中的初学程序员,最近开始使用tkinter,虽然我遇到了一个我无法解决的问题。
基本上我有两个输入框。
(这只是我需要的一个例子。)
我需要的是一个for循环,一个标签弹出并闪烁entry1
的次数与entry2
一样多,是的我知道如何获得输入输入但我不知道如何获得标签要不断闪烁,我已经在循环中尝试了pack_forget
和.destroy
方法作为标签,但不幸的是它没有显示,因为它几乎立即从屏幕上再次清除它。
答案 0 :(得分:4)
基本思想是创建一个执行闪光(或闪光的一半)的功能,然后使用after
重复调用该功能,只要您想要闪光灯发生。
这是一个切换背景和前景色的示例。它永远运行,仅仅因为我想保持示例简短。您可以轻松添加计数器,停止按钮或其他任何您想要的内容。要从中获取的是具有执行动画的一帧(在这种情况下,切换颜色)的函数的概念,然后将自身调度为在一段时间后再次运行。
import Tkinter as tk
class Example(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.label = tk.Label(self, text="Hello, world",
background="black", foreground="white")
self.label.pack(side="top", fill="both", expand=True)
self.flash()
def flash(self):
bg = self.label.cget("background")
fg = self.label.cget("foreground")
self.label.configure(background=fg, foreground=bg)
self.after(250, self.flash)
if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(fill="both", expand=True)
root.mainloop()