Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface ';wxPython';ID图标不显示_User Interface_Icons_Wxpython - Fatal编程技术网

User interface ';wxPython';ID图标不显示

User interface ';wxPython';ID图标不显示,user-interface,icons,wxpython,User Interface,Icons,Wxpython,我正在学习wxPython。我被教导,当你在菜单上使用各种id时,例如id\u EXIT,id\u NEW,id\u UNDO等,它会在菜单上放置一个名称和图标。但不幸的是,WINDOWS中没有显示图标。我假设它只在linux中工作 还有别的办法吗?我在哪里可以找到一些图标包来继续我在wxpython的学习?由于我不能使用这些id图标,我想用SetBitmap手动设置它们。但由于我没有任何图标,我也不能这样做 下面是一个向菜单项添加图像的简单示例。我曾经将图像添加到菜单项中。从下载Exit-ic

我正在学习wxPython。我被教导,当你在菜单上使用各种id时,例如
id\u EXIT
id\u NEW
id\u UNDO
等,它会在菜单上放置一个名称和图标。但不幸的是,WINDOWS中没有显示图标。我假设它只在linux中工作


还有别的办法吗?我在哪里可以找到一些图标包来继续我在wxpython的学习?由于我不能使用这些id图标,我想用
SetBitmap
手动设置它们。但由于我没有任何图标,我也不能这样做

下面是一个向菜单项添加图像的简单示例。我曾经将图像添加到菜单项中。从下载Exit-icon.png文件,并将其放在脚本所在的同一目录中

import wx

class GUI(wx.Frame):
    def __init__(self, parent, id, title):
        screenWidth = 500
        screenHeight = 400
        screenSize = (screenWidth,screenHeight)
        wx.Frame.__init__(self, None, id, title, size=screenSize)
        myMenuBar = wx.MenuBar()
        file = wx.Menu()
        quit = wx.MenuItem(file, 101, '&Quit\tCtrl+Q', 'Quit the Application')
        # Adding an image to the quit menu item
        quit.SetBitmap(wx.Image('Exit-icon.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
        file.AppendItem(quit)
        file.AppendSeparator()
        myMenuBar.Append(file, '&File')
        self.SetMenuBar(myMenuBar)

if __name__=='__main__':
    app = wx.App(False)
    frame = GUI(parent=None, id=-1, title="Problem Demo-PSS")
    frame.Show()
    app.MainLoop()
编辑: 有关图标包的评论:


wxPython还包括一组小图标。参见文档和 wx.ArtProvider的演示

关于图标包,你应该更喜欢使用.png文件,你可以在网上找到很多免费的东西。根据操作系统的不同,图标也有一个标准大小的格式。例如,我从以下表格中获得:

更新:您可以找到图标包作为示例。使用搜索选项:

退出图标

撤消图标

重做图标

只需单击新页面打开的任何图标,然后单击下载png按钮。您也可以简单地重命名图标文件,即使它没有命名为退出/撤消/重做。:)

在wxpython4.0.1(可能还有更早的版本)中,基本内容不需要下载图标。如果未找到“tnew.png”,则使用以下行会引发错误:

toolbar1.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('tnew.png'))
但是,您可以使用.GetBitmap()使用内置图标:


而且是嵌入内容的列表,ART_QUIT可能不是最好的替代品“tnew.png”。

您的代码会有所帮助。但你能给我一个直接的链接,我在哪里可以找到像退出,播放,撤销/重做,搜索等图标。我在谷歌搜索了很多,但都没有找到。他们有很多图标包,但没有一个包含像exit.png、undo.png、redo.png这样的东西……这就是我要找的,感谢特定的网站。我不知道图标搜索引擎wxpython还包括一小部分股票图标。请参阅wx.ArtProvider的文档和演示。@RobinDunn感谢您的建议,我将把它添加到我的答案中。:)
toolbar1.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('tnew.png'))
icon = wx.ArtProvider.GetBitmap(wx.ART_QUIT)
toolbar1.AddTool(wx.ID_ANY, '', icon)  # AddLabelTool raises DeprecationWarning