有一个窗口,在满足某些条件后会出现一条消息,它不是一个消息框,它是一个带有标签的常规窗口。我希望该窗口在任务栏上闪烁橙色,直到单击一次,但我找不到使用 tkinter 来做到这一点的方法。
end = Tk()
end.after(1000, lambda: win.focus_force())
end.title('FreteFinder')
end.attributes('-topmost', True)
end.geometry("450x250")
end.eval('tk::PlaceWindow . center')
Label(end).grid(column=0, row=0, sticky=W, padx=15, pady=5)
label = tkFont.Font(size=28)
label = Label(end, text="Novo Frete Encontrado!",font=("Arial", 20))
label.place(anchor=CENTER, relx=0.5, rely=0.5)
end.mainloop()
试试这个:
import tkinter as tk
from tkinter import font as tkFont
import ctypes
import platform
def flash_window(window):
if platform.system() == "Windows":
ctypes.windll.user32.FlashWindow(ctypes.windll.user32.GetForegroundWindow(), True)
window.after(1000, lambda: flash_window(window))
def stop_flashing(event):
if platform.system() == "Windows":
ctypes.windll.user32.FlashWindow(ctypes.windll.user32.GetForegroundWindow(), False)
end = tk.Tk()
end.title('FreteFinder')
end.attributes('-topmost', True)
end.geometry("450x250")
end.eval('tk::PlaceWindow . center')
flash_window(end)
end.bind("<Button-1>", stop_flashing)
label = tk.Label(end, text="Novo Frete Encontrado!", font=("Arial", 20))
label.place(anchor=tk.CENTER, relx=0.5, rely=0.5)
end.mainloop()