wxPython标准菜单图标和快捷方式不显示

时间:2013-12-10 10:06:37

标签: python python-2.7 wxpython

我正在努力教自己wxPython,但我正在努力弄清楚为什么标准菜单图标不起作用。我在Windows 7上使用Python 2.7.3和wxPython 2.8.12.1。当我直接使用ZetCode tutorial中的代码时,为了简单起见,我在下面复制了,我没有在菜单中显示任何图标或标准图标< / p>

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
ZetCode wxPython tutorial

This example shows a simple menu.

author: Jan Bodnar
website: www.zetcode.com
last modified: September 2011
'''

import wx

class Example(wx.Frame):

    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs) 

        self.InitUI()

    def InitUI(self):    

        menubar = wx.MenuBar()
        fileMenu = wx.Menu()
        fitem = fileMenu.Append(wx.ID_EXIT, 'Quit', 'Quit application')
        menubar.Append(fileMenu, '&File')
        self.SetMenuBar(menubar)

        self.Bind(wx.EVT_MENU, self.OnQuit, fitem)

        self.SetSize((300, 200))
        self.SetTitle('Simple menu')
        self.Centre()
        self.Show(True)

    def OnQuit(self, e):
        self.Close()

def main():

    ex = wx.App()
    Example(None)
    ex.MainLoop()    


if __name__ == '__main__':
    main()

根据教程,我应该得到这样的东西:

What I should be getting (sourced from zetcode)

相反,我得到了这个:

enter image description here

这是由于Linux和Windows之间的区别吗?有没有办法让这个工作没有为每个菜单项创建我自己的图标?

2 个答案:

答案 0 :(得分:3)

不同之处在于Windows没有退出的默认图标。 wxPython工具包包装了本机小部件,因此所有操作系统的外观都是正确的。所以,是的,如果你想在Windows上有一个图标,你必须自己设置它。

答案 1 :(得分:-1)

我也遇到了同样的问题。根据文档:“wx.ICON_QUESTION:显示问号符号。此图标自动与 YES_NO 一起使用,因此通常不需要明确指定它。当使用任务对话框来实现它们时,wxMSW 下的消息对话框不支持此样式(即在 Windows Vista 或更高版本下运行时),因为 Microsoft 指南指出不应使用任何图标进行例行确认。如果指定,则不会显示任何图标"