我只需要一个简单的示例,说明如何轻松地将python图标放置在我的系统托盘上。这意味着:我运行该程序,没有窗口出现,只有一个托盘图标(我有一个png文件)出现在系统托盘中,当我右键单击它时,菜单上会显示一些选项(当我单击时,在一个选项上,将运行一个函数)。那可能吗?我根本不需要任何窗户…
示例/代码片段非常感谢!:D
来呀!wxPython是炸弹。改编自我的Feed通知程序应用程序的源代码。
import wx TRAY_TOOLTIP = 'System Tray Demo' TRAY_ICON = 'icon.png' def create_menu_item(menu, label, func): item = wx.MenuItem(menu, -1, label) menu.Bind(wx.EVT_MENU, func, id=item.GetId()) menu.AppendItem(item) return item class TaskBarIcon(wx.TaskBarIcon): def __init__(self): super(TaskBarIcon, self).__init__() self.set_icon(TRAY_ICON) self.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.on_left_down) def CreatePopupMenu(self): menu = wx.Menu() create_menu_item(menu, 'Say Hello', self.on_hello) menu.AppendSeparator() create_menu_item(menu, 'Exit', self.on_exit) return menu def set_icon(self, path): icon = wx.IconFromBitmap(wx.Bitmap(path)) self.SetIcon(icon, TRAY_TOOLTIP) def on_left_down(self, event): print 'Tray icon was left-clicked.' def on_hello(self, event): print 'Hello, world!' def on_exit(self, event): wx.CallAfter(self.Destroy) def main(): app = wx.PySimpleApp() TaskBarIcon() app.MainLoop() if __name__ == '__main__': main()