python system tray icon

python system tray icon

 

一个简单的,一个完整的。

     1  #!/usr/bin/env python
     2  #-*- encoding:utf-8 -*-
     3
     4  import gtk
     5
     6  def on_activate(data):
     7          print 'active'
     8
     9  def on_popup_menu(status, button, time):
    10          print 'popup menu'
    11
    12  tr=gtk.StatusIcon()
    13  tr.set_from_file("1.gif")
    14  tr.set_tooltip('test tray in python')
    15  tr.set_visible(True)
    16  tr.connect('activate', on_activate)
    17  tr.connect('popup-menu', on_popup_menu)
    18
    19  gtk.main()

     ====================


     1  #!/usr/bin/env python
     2  #-*- encoding:utf-8 -*-
     3
     4  import os
     5  import gtk
     6
     7  class MyStatusIcon(gtk.StatusIcon):
     8          def __init__(self):
     9                  gtk.StatusIcon.__init__(self)
    10                  menu = '''
    11                          <ui>
    12                           <menubar name="Menubar">
    13                            <menu action="Menu">
    14                             <menuitem action="action1"/>
    15                             <menuitem action="action2"/>
    16                             <separator/>
    17                             <menuitem action="About"/>
    18                             <separator/>
    19                             <menuitem action="Quit"/>
    20                            </menu>
    21                           </menubar>
    22                          </ui>
    23                  '''
    24                  actions = [
    25                          ('Menu',  None, 'Menu'),
    26                          ('action1', None, 'action1', None, 'action1 for test', self.on_action),
    27                          ('action2', None, 'action2', None, 'action2 for test', self.on_action),
    28                          ('About', gtk.STOCK_ABOUT, 'About', None, 'About', self.on_about),
    29                          ('Quit', gtk.STOCK_QUIT, 'Quit', None, 'Quit', self.on_quit)
    30                  ]
    31
    32                  ag = gtk.ActionGroup('Actions')
    33                  ag.add_actions(actions)
    34                  self.manager = gtk.UIManager()
    35                  self.manager.insert_action_group(ag, 0)
    36                  self.manager.add_ui_from_string(menu)
    37                  self.menu = self.manager.get_widget('/Menubar/Menu/About').props.parent
    38                  self.set_from_file('1.gif')
    39                  self.set_tooltip('kf701 python tray use gtk statusicon')
    40                  self.set_visible(True)
    41                  self.connect('activate', self.on_activate)
    42                  self.connect('popup-menu', self.on_popup_menu)
    43
    44          def on_activate(self, data):
    45                  print 'on_activate'
    46
    47          def on_popup_menu(self, status, button, time):
    48                  self.menu.popup(None, None, None, button, time)
    49
    50          def on_action(self, data):
    51                  print 'on_action'
    52
    53          def on_about(self, data):
    54                  dialog = gtk.AboutDialog()
    55                  dialog.set_name('kf701 python tray test')
    56                  dialog.set_version('0.1')
    57                  dialog.set_comments('Use gtk statusicon in python')
    58                  dialog.set_website('http://kf701.cublog.cn')
    59                  dialog.run()
    60                  dialog.destroy()
    61
    62          def on_quit(self, data):
    63                  print 'Exit'
    64                  gtk.main_quit()
    65
    66  if __name__ == '__main__':
    67          MyStatusIcon()
    68          gtk.main()

Windows平台Codex余额监控工具:Python桌面应用开发实战 在AI服务API调用日益频繁的背景下,实时监控账户余额成为开发者提升效率、控制成本的关键需求。通过Python的requests库实现HTTP请求,结合Tkinter构建GUI界面,可以开发出稳定可靠的API监控工具。这类工具的核心技术价值在于将分散的云端数据本地化、可视化,实现主动预警和自动化管理。在Windows桌面应用开发场景中,系统托盘集成、多线程数据获取和配置文件管理是常见实践模式。本文聚焦于Codex API余额查询,通过模块化设计实现了API交互、配置管理和UI呈现的完整方案,解决了开发者频繁 阅读详情

相关推荐

Python桌面宠物开发实战:基于PyQt6实现透明窗口与动画交互

桌面宠物(Deskpet)是一种常驻桌面的小型交互式应用,通过透明窗体技术和事件响应机制实现角色动画与用户互动。其技术原理涉及窗口属性控制、精灵图动画帧处理和鼠标事件捕获,在GUI开发中具有重要的实践价值。PyQt6作为跨平台GUI框架,提供了WA_TranslucentBackground属性和FramelessWindowHint标志,能够实现不规则透明窗口效果。结合Sprite Animation动画系统,开发者可以创建流畅的角色动画交互。这种技术广泛应用于个性化桌面应用、游戏角色展示和轻量级工具开发

weixin_34238633的博客 343

SysTrayIcon 改的 python tkinter 最小化至系统托盘

网上的SysTrayIcon改的,TK页面最小化至托盘,托盘图标单击恢复界面 代码如下: import os import win32api import win32con import win32gui_struct import win32gui Main = None class SysTrayIcon(object): QUIT = 'QUIT' SPECI...

wodeyan001的博客 9849

python托盘和(MSN消息)弹出框体验

本篇主要讲述 关于python 最小化托盘和 toasterbox(MSN消息弹出框) 在运行前请先将 wx.ico 图标放置程序同目录下 其中点击 ”显示toaster“ 就直接可以运行消息弹出框 点击“有消息了” 表示Session有值了,消息框就会自动弹出

Python TK实现的托盘

Python TK实现的托盘

zy0412326的专栏 1326

Unity Shader学习笔记/Urp/水墨风效果

Unity Shader学习

qq_63133691的博客 2117

用Python对CAPM和Fama French Three Factor model的初步学习

用Python对CAPM和Fama French Three Factor model的初步学习概述介绍建模与分析CAPMFama French Three-Factor Model总结 概述 本文主要使用CAPM(资本资产定价模型)和Fama French Three Factor model来评估中国股票市场的股票价格。 使用CAPM来选择投资组合,然后建立Fama法国三因素模型来评估投资组合...

weixin_43168138的博客 5459

【Python+Linux】Tkinter + paramiko + threading 实现Windows与Linux文件同步

Windows与Linux文件同步

@苏丶的博客 1284

稀疏阵列选型指南:互质阵、嵌套阵、MRA,谁才是你项目里的‘性价比之王’?

本文深入探讨了稀疏阵列技术中的互质阵、嵌套阵和MRA三大架构的工程化选型策略,重点分析了它们在DOA估计、自由度、旁瓣抑制和计算复杂度等核心指标上的表现。通过实际案例和配置示例,为智能天线、声学定位和毫米波雷达等应用场景提供技术选型指南,帮助研发团队在硬件成本与性能之间找到最佳平衡点。

weixin_42525005的博客 489

python 系统托盘_使用 PySide 实现 Python 系统托盘图示

系统托盘图示 (system tray icon) 通常用来在桌面应用程序最小化后,不希望在任务列(taskbar)出现时,提供一个简单跟使用者交互的接口。 透过这样的用户接口,应用程序可以在有重要事件发生时,即时通知用户。因此,系统托盘图示常被诸如“邮件检查”、“股票报价”等不需要复杂接口的桌面应用所使用。本文山姆锅说明 Python 如何使用 PySide 来实现一个跨平台 (cross-pl...

weixin_39667080的博客 2123

中国IP发展之面面观

谢学军/邱善勤2006-1-25 9:29:28电子经理世界       IP远没有我们当初想象的那么简单   当SoC设计方法学刚刚传到国内的时候,学界为之欢呼雀跃,由于IP/SoC设计技术的使用,可以将发达国家用几年甚至十几年积累起来的设计技术直接为我所用,使中国的集成电路跳过漫长的积累阶段,迅速站到较高的起点上。因此在当时看来,IP/SoC设计技术是我国提升设计水平、发展

klxdmm305的专栏 1188

基于STM32、HAL库的TCA9555PWR I/O扩展器驱动程序设计

define TCA9555_ADDR_BASE 0x20 // 基础地址 (A0=A1=A2=0)* @param direction: 方向 (0=输出, 1=输入)* @param direction: 方向 (0=输出, 1=输入)* @param polarity: 极性 (0=正常, 1=反转)* @param polarity: 极性 (0=正常, 1=反转)

corlin6688的博客 528

python创建icon图标

def extension_replace(path,extension): for i in range(1,len(path)): if (path[-i] == '.'): new_path = path.replace(path[-i+1:],extension) break return new_path path = '1.jpg' img = PIL.Image.open(path) size = (128,12

CJK's Blog 1710

社交媒体文章内容与评论抓取:Python 爬虫实战教程

通过本文的介绍,我们学习了如何使用 Python 编写爬虫,抓取社交媒体平台的文章内容和评论。我们详细介绍了如何使用requestsSelenium和Tweepy等工具,抓取微博和 Twitter 上的公开数据。同时,我们还讨论了如何处理反爬虫机制,避免账号或 IP 被封禁。抓取社交媒体数据是一个充满挑战和乐趣的过程,掌握这些技术后,你可以在大数据分析、情感分析和舆情监测等方面得到更深层次的应用。

2201_76125261的博客 1710

10分钟掌握Flet桌面应用开发:Python跨平台GUI终极指南

想在Python中快速构建功能强大的跨平台桌面应用吗?Flet框架让你仅用Python就能创建专业的桌面应用程序!无论你是开发工具软件、数据可视化应用还是业务管理系统,Flet都能提供简单而强大的解决方案。本文将通过5个关键步骤,带你从零开始掌握Flet的桌面应用开发能力。 ## 🎯 为什么选择Flet开发桌面应用? Flet是一个革命性的Python框架,它最大的优势就是**让Python

gitblog_01171的博客 813

Pixhawk2.4.8接口及引脚定义

pixhawk2.4.8接口定义图解

加斯顿工程师的博客 8749

深入详细分析Skyworks 78113 PAMiD射频方案图

是一种高集成度的射频前端模块,它结合了功率放大器(PA)、双工器(Duplexer)、滤波器和开关等多个组件,主要用于4G LTE移动通信系统中的射频前端链路。是一款典型的PAMiD模块,通过将多个频段的发射(TX)和接收(RX)路径集成在一个模块中,大大减少了传统射频设计中的分立器件,同时提高了信号链路的效率和可靠性。模块化设计的优势PCB空间优化:高集成度设计大幅减小了射频电路的尺寸,适用于紧凑型移动设备。减少设计复杂度:模块化设计减少了器件间的匹配与调试工作,加速产品开发周期。性能稳定性。

weixin_43199439的博客 1480

基于Python与Tkinter实现非侵入式桌面通知系统

进程间通信(IPC)是操作系统实现不同进程数据交换的核心机制,其原理在于通过共享内存、消息传递或管道等技术,实现进程间的协同工作。在桌面应用开发领域,IPC技术为构建轻量级、可集成的自动化工具提供了基础。其技术价值在于能够将后台脚本、批处理任务或监控程序的状态信息,以非阻塞、低资源占用的方式,实时反馈给用户界面。一个典型的应用场景是,开发一个常驻系统托盘的桌面通知中心,它通过TCP套接字等IPC方式接收外部进程的告警信息,并以优雅、非模态的窗口形式展示,从而避免打断用户当前的工作流。本文正是基于这一思路,详

weixin_34195142的博客 407

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

FreeSimpleGUI完全指南:Python GUI开发终极入门教程

FreeSimpleGUI是一款免费且功能强大的Python GUI库,它让开发者能够快速创建直观、美观的图形用户界面,无需深入学习复杂的GUI框架。无论是初学者还是有经验的开发者,都能通过FreeSimpleGUI轻松构建跨平台的桌面应用程序。 ## 为什么选择FreeSimpleGUI? FreeSimpleGUI以其简洁的API和丰富的功能成为Python GUI开发的理想选择。它封装了

gitblog_00308的博客 1082

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python PyQt5桌面宠物应用开发:从零实现可交互桌宠MVP

桌面应用开发是GUI编程的核心领域,涉及图形界面、事件处理与用户交互等基础技术。其原理在于通过框架提供的组件构建窗口、管理控件并响应系统事件,实现直观的软件界面。在技术价值上,掌握桌面开发能力能帮助开发者构建独立、高效的本地软件,尤其适合需要复杂交互或离线运行的工具类应用。PyQt5作为Python的GUI框架,凭借其跨平台特性和丰富的组件库,成为快速开发桌面程序的优选方案。应用场景广泛,从工具软件、媒体播放器到个性化桌面组件均可覆盖。本文聚焦于利用PyQt5实现一个可交互的“桌宠”应用,通过构建无边框窗口

weixin_34013044的博客 437

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python桌面宠物开发:从零构建鸣潮爱弥斯互动桌宠

桌面宠物(Desktop Pet)是一种常驻用户桌面的小型交互程序,基于事件驱动架构实现角色动画和用户互动。其技术原理结合了GUI框架的透明窗口渲染、多线程行为管理和面向对象设计模式,在Python生态中通常采用PyQt5等成熟框架。这种技术的工程价值在于将游戏角色或虚拟形象转化为可交互的桌面伴侣,既能提升用户体验,又能作为学习GUI编程和软件架构的实践项目。应用场景涵盖个性化桌面定制、二次元文化传播以及编程教学演示。本文以鸣潮游戏中的爱弥斯角色为例,详细解析如何构建具备表情切换、拖拽交互和自动行为系统的C

weixin_34343000的博客 355

桌面智能体开发实战:从架构设计到性能调优的完整工程实践

桌面应用开发的核心在于构建稳定、高效且能与系统深度交互的智能体(Agent)。其技术原理通常涉及多进程架构、事件驱动模型与异步通信机制,通过分离前端界面与后端服务进程来提升整体稳定性与响应性。在工程实践中,这种架构能有效解决进程通信不稳定、资源占用过高及用户交互卡顿等常见问题,其技术价值体现在为自动化任务、系统监控及个人效率工具提供了可靠的基础框架。典型的应用场景包括常驻后台的系统助手、自动化脚本管理工具以及集成AI能力的本地智能应用。本文以桌面Agent的迭代实录为例,深入探讨了使用Python与Fast

weixin_33978044的博客 395

PasteMD开发者指南:从源码编译到自定义功能扩展的完整开发手册

PasteMD是一款能够将Markdown和网页AI对话内容完美粘贴到Word、WPS和Excel的效率工具。作为开发者,掌握PasteMD的源码编译、架构设计和功能扩展方法,将帮助您深度定制这个强大的生产力工具。本指南将为您提供完整的开发手册,涵盖从环境搭建到高级功能扩展的全过程。 ## 快速开始:搭建PasteMD开发环境 🚀 开始PasteMD开发的第一步是搭建合适的开发环境。项目基于

gitblog_00166的博客 681

PyQt5桌面宠物应用开发:从零实现跨平台桌宠全流程

桌面应用开发是GUI编程的重要分支,其核心原理是通过图形界面框架创建用户交互程序。PyQt5作为Python的跨平台GUI工具包,结合了Qt框架的强大功能和Python的简洁语法,在技术价值上实现了开发效率与运行性能的平衡。桌面宠物应用作为典型的轻量级桌面程序,运用状态机管理宠物行为、QPropertyAnimation实现流畅动画效果,适用于办公伴侣、系统监控提醒等场景。本文基于PyQt5技术栈,完整演示了桌面宠物应用的需求分析、技术选型到打包部署的全流程实战,涵盖Electron跨平台方案对比和资源管理

weixin_34259232的博客 348

桌面宠物开发实战:从架构设计到性能优化的模块化实现指南

桌面应用开发是连接用户与系统交互的重要领域,其核心在于构建稳定、高效且用户体验良好的客户端程序。其原理涉及图形渲染、事件处理、资源管理与进程通信等多个技术层面。在技术价值上,一个设计良好的桌面应用不仅能提升用户效率,更是对开发者软件工程能力的综合考验,尤其在需要长期后台运行、低资源占用的场景中。常见的应用场景包括系统工具、即时通讯软件以及本文聚焦的桌面宠物(Desktop Pet)等交互式常驻应用。开发这类应用常面临动画卡顿、内存泄漏和代码结构混乱等挑战。通过采用模块化架构分离渲染引擎、状态机与资源管理,并

weixin_30328063的博客 699

FreeSimpleGUI最佳实践:从代码组织到UI设计的专业建议

FreeSimpleGUI是Python开发者创建GUI应用程序的终极工具,它提供了一种简单、快速且免费的方式来构建用户界面。无论你是Python新手还是有经验的开发者,掌握FreeSimpleGUI的最佳实践都能显著提升你的开发效率和应用程序质量。本文将为你提供从代码组织到UI设计的完整指南,帮助你创建专业级的Python GUI应用程序。 ## 为什么选择FreeSimpleGUI? Fr

gitblog_01180的博客 448

一个支持复杂筛选条件的复制工具

这篇文章介绍了一个名为FileMoverPro的文件管理工具,主要功能包括: 智能文件筛选 支持多种条件组合(后缀名、文件大小、白名单/黑名单关键词) 可保存筛选条件为模板 自动过滤空文件 文件传输功能 支持复制/移动操作 三种保存模式:保持原结构/按日期平铺/按日期保留结构 断点续传功能 速度限制选项 其他特点 跨平台支持(Linux/Windows优先) 任务记忆功能 系统托盘支持 操作日志记录 文章还提供了完整的Python源代码和打包脚本build.py,后者通过排除未使用的模块来减小程序体积。

weixin_43985754的博客 335
上一篇: 编写对GC友好,又不泄漏的代码
下一篇: systemTray例子
fly_hyp
博客等级 码龄24年 8粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值