Wxpython 加载静态位图

Wxpython 加载静态位图,wxpython,Wxpython,如何将简单的静态图像(位图)加载到面板中?我只想定义图像的位置,没有别的 运行时不会出错: bmp = wx.Image('pics/default.bmp', wx.BITMAP_TYPE_BMP).ConvertToBitmap() wx.StaticBitmap(self.panel, -1, bmp, (500, 500)) 但是没有我的图像(default.bmp),只有一个小的黑色正方形(但至少在正确的位置) 编辑: 这项工作: self.picture = wx.Stat

如何将简单的静态图像(位图)加载到面板中?我只想定义图像的位置,没有别的

运行时不会出错:

bmp = wx.Image('pics/default.bmp', wx.BITMAP_TYPE_BMP).ConvertToBitmap()
wx.StaticBitmap(self.panel, -1, bmp, (500, 500))
但是没有我的图像(default.bmp),只有一个小的黑色正方形(但至少在正确的位置)

编辑: 这项工作:

    self.picture = wx.StaticBitmap(self.panel,size=(200,300),pos=(500,500))
    self.picture.SetBitmap(wx.Bitmap('pics/default.bmp'))

问题是我必须添加静态位图的大小。

我不太熟悉将位图插入wxPython,但是,我刚刚阅读了一些API,我想我可能已经发现了您的问题

“通常情况下,您应该只从子类'init调用它,因为一个普通的旧wx.Control不是很有用。”在同一页上,您还可以看到一个名为“执行第二阶段并创建GUI控件”的页面。您只完成了两阶段流程的第一阶段。尝试调用
Create()
方法,看看是否有帮助

然后问题变成了“为什么我们甚至需要一个‘阶段2’来创造?”我做了更多的挖掘,我发现了以下摘录自:

无法将wx.Image直接绘制到wx.DC。相反,必须使用wx.BitmapFromImage构造函数从中创建特定于平台的wx.Bitmap对象

这似乎意味着wxPython中的图像渲染有一些依赖于平台的部分,这些部分要求或逻辑上保证将图像创建分为两个阶段

最后一点要注意的是,正如您所看到的,
wx.Image
API说要使用。我阅读了文档,看起来它可以为您完成所有工作

祝你好运