我正在努力教自己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()
根据教程,我应该得到这样的东西:
相反,我得到了这个:
这是由于Linux和Windows之间的区别吗?有没有办法让这个工作没有为每个菜单项创建我自己的图标?
答案 0 :(得分:3)
不同之处在于Windows没有退出的默认图标。 wxPython工具包包装了本机小部件,因此所有操作系统的外观都是正确的。所以,是的,如果你想在Windows上有一个图标,你必须自己设置它。
答案 1 :(得分:-1)
我也遇到了同样的问题。根据文档:“wx.ICON_QUESTION:显示问号符号。此图标自动与 YES_NO 一起使用,因此通常不需要明确指定它。当使用任务对话框来实现它们时,wxMSW 下的消息对话框不支持此样式(即在 Windows Vista 或更高版本下运行时),因为 Microsoft 指南指出不应使用任何图标进行例行确认。如果指定,则不会显示任何图标"