闪烁的 Tkinter 标签

use*_*584 1 python label tkinter

我是 python 的初学者程序员,最近开始使用 tkinter,尽管我遇到了一个我无法解决的问题。

基本上我有两个输入框。

  • 条目 1 = 消息
  • 条目 2 = 否。闪光的

(这只是我需要的一个例子。)

我需要的是一个for循环标签弹出和闪烁entry1的很多次entry2,是的,我知道如何让进入输入,但我不知道如何让标签,不断闪烁,我曾尝试pack_forget.destroy该方法标签在一个循环中,但不幸的是它没有显示,因为它几乎立即再次从屏幕上清除它。

Bry*_*ley 5

基本思想是创建一个执行闪光(或一半闪光)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()
Run Code Online (Sandbox Code Playgroud)