Python TK实现的托盘

简介: Python TK实现的托盘

一、真相

二、代码

import os, tkinter as tk
from framework.pulgin.SysTrayIcon import SysTrayIcon
class _Main:  # 调用SysTrayIcon的Demo窗口
    def __init__(self):
        self.SysTrayIcon = None  # 判断是否打开系统托盘图标
    def main(self):
        # tk窗口
        self.root = tk.Tk()
        self.root.bind("<Unmap>",
                       lambda event: self.Hidden_window() if self.root.state() == 'iconic' else False)  # 窗口最小化判断,可以说是调用最重要的一步
        self.root.protocol('WM_DELETE_WINDOW', self.exit)  # 点击Tk窗口关闭时直接调用s.exit,不使用默认关闭
        self.root.resizable(0, 0)  # 锁定窗口大小不能改变
        self.root.mainloop()
    def switch_icon(s, _sysTrayIcon, icon='D:\\2.ico'):
        # 点击右键菜单项目会传递SysTrayIcon自身给引用的函数,所以这里的_sysTrayIcon = s.sysTrayIcon
        # 只是一个改图标的例子,不需要的可以删除此函数
        _sysTrayIcon.icon = icon
        _sysTrayIcon.refresh()
        # 气泡提示的例子
        s.show_msg(title='图标更换', msg='图标更换成功!', time=500)
    def show_msg(s, title='标题', msg='内容', time=500):
        s.SysTrayIcon.refresh(title=title, msg=msg, time=time)
    def Hidden_window(s, icon='D:\\1.ico', hover_text="SysTrayIcon.py Demo"):
        '''隐藏窗口至托盘区,调用SysTrayIcon的重要函数'''
        # 托盘图标右键菜单, 格式: ('name', None, callback),下面也是二级菜单的例子
        # 24行有自动添加‘退出’,不需要的可删除
        menu_options = (('一级 菜单', None, s.switch_icon),
                        ('二级 菜单', None, (('更改 图标', None, s.switch_icon),)))
        s.root.withdraw()  # 隐藏tk窗口
        if not s.SysTrayIcon: s.SysTrayIcon = SysTrayIcon(
            icon,  # 图标
            hover_text,  # 光标停留显示文字
            menu_options,  # 右键菜单
            on_quit=s.exit,  # 退出调用
            tk_window=s.root,  # Tk窗口
        )
        s.SysTrayIcon.activation()
    def exit(s, _sysTrayIcon=None):
        s.root.destroy()
        print('exit...')
if __name__ == '__main__':
    Main = _Main()
    Main.main()

 

目录
相关文章
|
7月前
|
Python
Python TK实现的取色
Python TK实现的取色
47 0
|
7月前
|
Python
Python TK实现的日历
Python TK实现的日历
53 0
|
7月前
|
调度 Python
Python TK实现的闹钟
Python TK实现的闹钟
43 0
|
7月前
|
关系型数据库 MySQL 数据库
Python tk dos命令备份mysql数据库
Python tk dos命令备份mysql数据库
60 0
|
7月前
|
Python
python tk 显示当前日期和显示阴历
python tk 显示当前日期和显示阴历
58 1
|
7月前
|
人工智能 IDE 开发工具
Python TK输入框Entry设置高度
Python TK输入框Entry设置高度
111 0
|
7月前
|
Python
Python tk 弹出对话框
Python tk 弹出对话框
66 0
|
Python
python: tk demo
# coding=utf-8 import time import tkinter as tk ######################################################################## class Window: def __...
997 0
|
7天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
下一篇
无影云桌面