加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

一起运行Tkinter窗口和PysTray图标

发布时间:2020-12-17 17:38:14 所属栏目:Python 来源:网络整理
导读:我正在构建一个tkinter gui项目,并且正在寻找一种在tkinter窗口中运行托盘图标的方法.我发现Pystray库可以做到这一点,但现在我想弄清楚如何与tkinter窗口一起使用该库(托盘图标), 当用户退出winodw时,我将其设置为仅退出窗口: ?self.protocol(WM_DELETE_WIN

我正在构建一个tkinter gui项目,并且正在寻找一种在tkinter窗口中运行托盘图标的方法.我发现Pystray库可以做到这一点,但现在我想弄清楚如何与tkinter窗口一起使用该库(托盘图标),
当用户退出winodw时,我将其设置为仅退出窗口:
?self.protocol(‘WM_DELETE_WINDOW’,self.withdraw)
我想将它带回托盘图标..有人知道该怎么做吗?
编辑:到目前为止,我到目前为止只编写了这段代码(它们没有一起运行,但是也很好):

from pystray import MenuItem as item
import pystray
from PIL import Image
import tkinter as tk

def quit_window(icon,item):
    icon.stop()
    #window.destroy()

def show_window(icon,item):
    icon.stop()
    #window.deiconify()

def withdraw_window(window):    
    window.withdraw()
    image = Image.open("image.ico")
    menu = (item('Quit',quit_window),item('Show',show_window))
    icon = pystray.Icon("name",image,"title",menu)
    icon.run()

def main():
    window = tk.Tk() 
    window.title("Welcome")
    window.protocol('WM_DELETE_WINDOW',lambda: withdraw_window(window))
    window.mainloop()
main()
最佳答案
最后我弄清楚了
现在我只需要将其与我的主要代码结合起来,希望该代码也能对其他人有所帮助…

from pystray import MenuItem as item
import pystray
from PIL import Image
import tkinter as tk

window = tk.Tk()
window.title("Welcome")

def quit_window(icon,item):
    icon.stop()
    window.destroy()

def show_window(icon,item):
    icon.stop()
    window.after(0,window.deiconify)

def withdraw_window():  
    window.withdraw()
    image = Image.open("image.ico")
    menu = (item('Quit',menu)
    icon.run()

window.protocol('WM_DELETE_WINDOW',withdraw_window)
window.mainloop()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读