wxPython TaskBarIcon(系统托盘)

import wx
import wx.adv


class Balloon(wx.adv.TaskBarIcon):
    ICON = "logo.ico"
    def __init__(self):
        wx.adv.TaskBarIcon.__init__(self)
        self.SetIcon(wx.Icon(self.ICON))

    # Menu数据
    def setMenuItemData(self):
        return (("Config", self.OnConfig), ("About", self.OnAbout), ("Close", self.OnClose))
    
    # 创建菜单
    def CreatePopupMenu(self):
        menu = wx.Menu()
        for itemName, itemHandler in self.setMenuItemData():
            if not itemName:    # itemName为空就添加分隔符
                menu.AppendSeparator()
                continue
            menuItem = wx.MenuItem(None, wx.ID_ANY, text=itemName, kind=wx.ITEM_NORMAL) # 创建菜单项
            menu.AppendItem(menuItem)                                                   # 将菜单项添加到菜单
            self.Bind(wx.EVT_MENU, itemHandler, menuItem)
        return menu

    def OnConfig(self, event):
        pass

    def OnAbout(self, event):
        pass

    def OnClose(self, event):
        pass


class myFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None)
        self.taskBarIcon = Balloon()

if __name__ == '__main__':
    app = wx.App()
    frame = myFrame()
    frame.Show()
    app.MainLoop()

一个基本托盘

deepin 下的效果

__init__默认构造函数。
CreatePopupMenu当用户请求弹出菜单时调用此方法。
Destroy此方法类似于wx.Window.Destroy 并且可用于安排任务栏图标对象的延迟销毁:它将在下一个事件循环迭代期间删除,这使任务栏图标可以在销毁它之前处理所有未决事件。
IsAvailable返回True在运行应用程序的桌面环境中系统托盘是否可用。
IsIconInstalled返回True是否SetIcon 在没有后续调用的情况下被调用RemoveIcon
IsOk返回True对象是否成功初始化。
PopupMenu在当前鼠标位置弹出一个菜单。
RemoveIcon删除先前用设置的图标SetIcon
SetIcon设置图标和可选的工具提示文本
ShowBalloon显示气球通知

 

事件

绑定到以下事件类型的处理程序将接收 wx.adv.TaskBarIconEvent事件.

 如果应用程序只需响应鼠标单击弹出菜单,最好覆盖wx.adv.TaskBarIcon.CreatePopupMenu

  • EVT_TASKBAR_MOVE:处理 wxEVT_TASKBAR_MOVE 事件。
  • EVT_TASKBAR_LEFT_DOWN:处理 wxEVT_TASKBAR_LEFT_DOWN 事件。
  • EVT_TASKBAR_LEFT_UP:处理 wxEVT_TASKBAR_LEFT_UP 事件。
  • EVT_TASKBAR_RIGHT_DOWN:处理 wxEVT_TASKBAR_RIGHT_DOWN 事件。
  • EVT_TASKBAR_RIGHT_UP:处理 wxEVT_TASKBAR_RIGHT_UP 事件。
  • EVT_TASKBAR_LEFT_DCLICK:处理 wxEVT_TASKBAR_LEFT_DCLICK 事件。
  • EVT_TASKBAR_RIGHT_DCLICK:处理 wxEVT_TASKBAR_RIGHT_DCLICK 事件。
  • EVT_TASKBAR_CLICK:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值