Я пытаюсь добавить значок в системный трей для моего приложения, однако у меня есть две проблемы.
Во-первых, хотя я использую значок .png с прозрачным фоном, значок имеет уродливый белый фон.
Во-вторых, на значке есть меню, вызываемое правой кнопкой мыши, с параметрами «Показать» и «Закрыть», однако по неизвестным причинам оба говорят «Ctrl - Q» рядом с ними. Я не только не указал это, но сочетание горячих клавиш ничего не делает.
Вот код, который я использую. Это почти прямо поднято из документации:
class SysTray(wx.TaskBarIcon):
def __init__(self, parent, icon, text):
wx.TaskBarIcon.__init__(self)
self.parentApp = parent
self.SetIcon(icon, text)
self.CreateMenu()
def CreateMenu(self):
self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.ShowMenu)
self.menu=wx.Menu()
self.menu.Append(wx.ID_OPEN, "Show")
self.menu.Append(wx.ID_EXIT, "Close")
def ShowMenu(self,event):
self.PopupMenu(self.menu)
Который реализован с использованием:
self.trayicon = SysTray(self, wx.Icon(TRAY_ICON, wx.BITMAP_TYPE_PNG), TRAY_TOOLTIP)
self.trayicon.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_EXIT)
self.trayicon.Bind(wx.EVT_MENU, self.OnShow, id=wx.ID_OPEN)