wxpython中的wx.adv.TaskBarIcon类可以用来实现TaskBarIcon——就是在系统托盘区显示一个图标,点击的时候会出现一个菜单。在鼠标放上去的时候,它还可以显示一些提示信息。
一个最常见的例子:Windows系统自带的Speaker。
根据wxpython的官方文档,TaskBarIcon支持处理以下的事件:
- EVT_TASKBAR_MOVE: 移动
- EVT_TASKBAR_LEFT_DOWN: 按下鼠标左键
- EVT_TASKBAR_LEFT_UP: 按下鼠标左键后松开
- EVT_TASKBAR_RIGHT_DOWN: 按下鼠标右键
- EVT_TASKBAR_RIGHT_UP: 按下鼠标右键后松开
- EVT_TASKBAR_LEFT_DCLICK: 双击鼠标左键
- EVT_TASKBAR_RIGHT_DCLICK: 双击鼠标右键
- EVT_TASKBAR_CLICK: 根据系统的不同,这个等同于EVT_TASKBAR_RIGHT_DOWN或者wx.UP。
它提供的方法有:
方法 | 描述 |
---|---|
__init__ | 构造函数. |
CreatePopupMenu | 鼠标右键点击图标时会调用这个函数。由这个函数来生成动态菜单。 |
Destroy | 类似于wx.Window.Destroy。可以让系统托盘图标在毁灭前处理一些还在等待的事件。 |
IsAvailable | 如果系统托盘是可用的,返回True。 |
IsIconInstalled | 如果SetIcon被调用,而RemoveIcon没有接着被调用,返回True。 |
IsOk | 如果对象初始化成功,返回True。 |
PopupMenu | 在当前鼠标光标所在位置弹出一个菜单。官方文档更建议使用CreatePopupMenu而不是PopupMenu. |
RemoveIcon | 将之前用SetIcon设置的图标移除。 |
SetIcon | 设置一个图标,另外还可以设置提示。 |
ShowBalloon | 在有图标的前提下,显示一个气泡提示,这个只在Windows系统下支持。 |
以上方法更具体的说明请参考官方文档:https://wxpython.org/Phoenix/docs/html/wx.adv.TaskBarIcon.html
通常,TaskBarIcon类的用法是创建一个类,继承wx.adv.TaskBarIcon,再在这个子类里面重写CreatePopupMenu方法,来自定义鼠标右键点击时出现的动态菜单。菜单的实现方法是:先用