【问题标题】:wxStaticBitmap with wxPtyhon at GTK+ not working在 GTK+ 上带有 wxPtyhon 的 wxStaticBitmap 不工作
【发布时间】:2013-11-15 07:01:30
【问题描述】:

我在 wxPython 中有这样一段代码:

        logo = wx.StaticBitmap(self, -1, wx.Bitmap('picture.png', wx.BITMAP_TYPE_PNG))

在 Windows 上,它就像一个魅力。但是当我在 linux (SUSE) 上运行我的应用程序时,我只得到适当大小的空白区域(正好是我的 png 的大小)。图片加载,未引发错误。

请注意,我也使用 wxBitmapButtons:

self.butOK_ = wx.Button(self, wx.ID_OK, label = u'&OK')
self.butOK_ .SetBitmap(wx.Bitmap('ok.png', wx.BITMAP_TYPE_PNG), wx.RIGHT)

这适用于两个平台。

可能是什么问题,在 MSW 下一切看起来都很好,但在 linux (wxGTK) 上我的图片不可见? 也许与不加载图片 ix 400x250 和工作的图片只有大约 16x16 或高达 32x32 相关?

【问题讨论】:

    标签: python linux gtk wxpython wxwidgets


    【解决方案1】:

    呃,我自己偶然发现的。但是这种行为因平台而异,因此我将留下问题并发布正确答案:

    事实证明,由于未知原因,如果 wxStaticBitmap 归 wxFrame 所有,它确实可以在 Windows 下工作,但在 GTK+ 下会失败。

    logo = wx.StaticBitmap(panel, -1, wx.Bitmap('picture.png', wx.BITMAP_TYPE_PNG))
    

    唯一必要的更改是它现在归 wxPanel 所有,主面板位于此框架上,并且在两个平台上一切正常。

    【讨论】:

    • 您会发现面板还添加了正确的选项卡导航,并且背景颜色跨平台是正确的。如果你只使用框架,我认为颜色有点偏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多