【问题标题】:Access native windows icons for custom wxDialogs访问自定义 wxDialogs 的本机 Windows 图标
【发布时间】:2011-03-16 12:11:14
【问题描述】:

我想继承 wx.Dialog 以获得比 wx.MessageDialog 类提供的功能更多的功能,但我仍然希望能够使用本机 Windows 图标(即 wx.MessageDialog 中使用的那些可以通过wx.ICON_ERROR等标志设置。)

有没有办法访问这些?

更新:

感谢 steven 指出这可以通过 wx.ArtProvider 轻松完成

例如

wx.ArtProvider.GetBitmap(wx.ART_ERROR, wx.ART_CMN_DIALOG)

【问题讨论】:

    标签: python user-interface dialog wxpython customdialog


    【解决方案1】:

    不确定你在 wx 中会如何做,但这里有一篇关于如何使用原生 API 进行操作的 Microsoft 文章:

    http://msdn.microsoft.com/en-us/magazine/cc188763.aspx

    【讨论】:

    • 谢谢...但希望存在一个 precooked 解决方案,我宁愿不必为 winapi 编码包装器(因为我想这就是我所拥有的做什么?)
    【解决方案2】:

    这应该可以解决问题:

    wx.ArtProvider.GetBitmap(wx.ART_ERROR, wx.ART_CMN_DIALOG)
    

    【讨论】:

    • 这绝对是一个好技巧:)(一旦我将 wx.ICON_ERROR 更改为 wx.ART_ERROR 就可以使用)。我之前遇到过 ArtProvider 类,但出于某种原因,我认为它只是 GTK。只是用它来获取我所有菜单项的图标 - 非常方便。谢谢!! ——
    • 是的,我用它在我的菜单中添加了不使用标准 wx ID 的图标。我注意到 Windows 的菜单中从来没有图标,所以我只为 GTK 做(不确定 mac 是做什么的)
    • 哎呀,我最初确实有 ART_ERROR,但后来复制/粘贴了您的 ID :)
    • 是的,你的权利我注意到两个关于 windows 菜单,但它们看起来很漂亮 :) 所以很难抗拒添加它们......
    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2014-06-15
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多