【问题标题】:wxPython standard menu icons and shortcuts not displayingwxPython 标准菜单图标和快捷方式不显示
【发布时间】:2013-12-10 10:06:36
【问题描述】:

我正在尝试自学 wxPython,但我正在努力找出标准菜单图标不起作用的原因。我在 Windows 7 上使用 Python 2.7.3 和 wxPython 2.8.12.1。当我直接使用来自 ZetCode tutorial 的代码(为简单起见复制到下面)时,我的菜单中没有显示任何图标或标准图标

#!/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 之间的差异造成的吗?有什么方法可以在不为每个菜单项创建我自己的图标的情况下使其工作?

【问题讨论】:

    标签: python python-2.7 wxpython


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-08
        • 1970-01-01
        • 2014-01-28
        • 2014-02-08
        • 1970-01-01
        • 1970-01-01
        • 2010-11-07
        相关资源
        最近更新 更多