0

我在 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 是相关的?

4

1 回答 1

1

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

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

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

唯一必要的改变是它现在由 wxPanel 拥有,这个框架上的主面板,并且在两个平台上一切都一样。

于 2013-11-04T15:54:58.377 回答