add tray icon test
parent
3a8f5e1f53
commit
c25f517aab
@ -0,0 +1,55 @@
|
||||
import wx.adv
|
||||
import wx
|
||||
TRAY_TOOLTIP = 'Name'
|
||||
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.Append(item)
|
||||
return item
|
||||
|
||||
|
||||
class TaskBarIcon(wx.adv.TaskBarIcon):
|
||||
def __init__(self, frame):
|
||||
self.frame = frame
|
||||
super(TaskBarIcon, self).__init__()
|
||||
self.set_icon(TRAY_ICON)
|
||||
self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down)
|
||||
|
||||
def CreatePopupMenu(self):
|
||||
menu = wx.Menu()
|
||||
create_menu_item(menu, 'Site', self.on_hello)
|
||||
menu.AppendSeparator()
|
||||
create_menu_item(menu, 'Exit', self.on_exit)
|
||||
return menu
|
||||
|
||||
def set_icon(self, path):
|
||||
icon = wx.Icon(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)
|
||||
self.frame.Close()
|
||||
|
||||
class App(wx.App):
|
||||
def OnInit(self):
|
||||
frame=wx.Frame(None)
|
||||
self.SetTopWindow(frame)
|
||||
TaskBarIcon(frame)
|
||||
return True
|
||||
|
||||
def main():
|
||||
app = App(False)
|
||||
app.MainLoop()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue