我试图在系统托盘中为我的应用程序实现一个图标,但是我有两个问题。在
我是一个白色的图标,背景是白色的。在
其次,图标有一个右键单击菜单,其中有“Show”和“Close”选项,但是由于未知原因,它们旁边都会显示“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)
使用以下方法实现:
^{pr2}$
wxPython使用了一种叫做AcceleratorTable的东西来跟踪“热键”或“快捷键”或任何你想叫它们的东西。与定义和设置sizer的方法类似,可以定义和设置Acceleratorable,wxPython将使用它。更多信息请点击http://www.blog.pythonlibrary.org/2010/12/02/wxpython-keyboard-shortcuts-accelerators/
另外,为了获得Ctrl-Q或Ctrl-O热键,您需要在文本中指定它们,或者将它们添加到加速器表中。如果将正确格式化的文本添加到菜单项中,wxPython应该识别“这是一个热键”,并自动将其添加到加速器表中。在
相关问题 更多 >
编程相关推荐