我正在开发一个聊天程序,我希望该程序在接收数据时更改图标,但前提是将其最小化。当您再次拉起程序时,应将图标改回来。我试图在接收线程中像这样更改它:
def returnrecv():
while True:
recieve = s.recv(1024).decode("utf-8")
winsound.PlaySound('beep.wav', winsound.SND_FILENAME + winsound.SND_ASYNC)
recieveBox.config(state=NORMAL)
timeclock = time.strftime('%H:%M')
recieveBox.insert(END, "[" + timeclock + "]", 'black', "Other: ", 'blue', recieve + "\n\n")
recieveBox.config(state=DISABLED)
recieveBox.see("end")
root.iconbitmap("gouico2.ico")
但是我将如何编程使其仅在程序最小化时执行此操作?
答案 0 :(得分:0)
您可以使用root.state()
来检查窗口的状态。
import tkinter as tk
root = tk.Tk()
def change_icon():
print (root.state())
if root.state() == "iconic":
print ("I am hidden")
root.after(1000, change_icon)
root.after(1000,change_icon)
root.mainloop()