有没有办法让新的 tkinter 窗口在任务栏上闪烁橙色直到单击?

问题描述 投票:0回答:1

有一个窗口,在满足某些条件后会出现一条消息,它不是一个消息框,它是一个带有标签的常规窗口。我希望该窗口在任务栏上闪烁橙色,直到单击一次,但我找不到使用 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()
python windows tkinter
1个回答
0
投票

试试这个:

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()
© www.soinside.com 2019 - 2024. All rights reserved.