从.jpg文件创建一组按钮图像

时间:2014-01-22 15:01:15

标签: python button wxpython wxwidgets

我有一个包含多个.jpg文件的文件夹(每个文件都是100x100像素)。

我想创建一个wxPython面板,将所有这些.jpg(带有马赛克布局)显示为wx.BitmapButton

我尝试使用名为BitmapButton.py的wxPython演示,但这只是从嵌入图像中加载图像,这里我不知道用JPEG做的规范方法是什么。

此外,我希望此面板能够自动提供按钮的良好处理。

示例:假设我有10个按钮。

  • 如果窗口宽度足够大,每行可容纳5个按钮,则应显示2行5个按钮,
  • 如果窗口调整为较小的宽度,则应显示2行4个按钮+ 1行2个按钮等。

如何处理 wx.BitmapButton中的JPEG,以及许多按钮,如何让它们在面板中自动生成一个好的布局(自动对齐行)?

enter image description here

1 个答案:

答案 0 :(得分:2)

是的,有一个新的sizer可以在wxPython 2.9+中做你想要的,叫做WrapSizer。在wxPython演示中有一个使用它的例子。您还可以阅读以下内容:

对于BitmapButton,我很确定如果你正确地执行它,你可以传递一个jpg文件。你可能需要做这样的事情:

img = wx.Image(filepath, wx.BITMAP_TYPE_ANY)
bmp = wx.BitmapFromImage(img)
b = wx.BitmapButton(self, -1, bmp, (20, 20),
                   (bmp.GetWidth()+10, bmp.GetHeight()+10))