2011-09-14 78 views
0

我在我的GUI中添加了一個圖像到面板中。我希望這個圖像適合面板,在那裏我想使它的長度與面板的長度一樣。我該怎麼做?使用wxpython構建GUI

我在我的代碼中做了以下操作?所以圖像出現在面板頂部,因爲我想要的,但我想調整此圖像以增加其長度。

class myMenu(wx.Frame): 
    def __init__(self, parent, id, title): 
     wx.Frame.__init__(self, parent, id, title, size=(900, 700)) 
     panel = wx.Panel(self, -1) 
     panel.SetBackgroundColour('#4f3856') 
     img = 'C:\Users\DELL\Desktop\Implementation\img1.jpg' 
     bmp = wx.Bitmap(img) 
     btmap = wx.StaticBitmap(panel, wx.ID_ANY, bmp, (0, 0)) 
+0

您創建了一個位置但不是大小的'wx.StaticBitmap'。只需傳遞你想要的大小。 –

回答

1

如果你想縮放圖像,你可能想打開它作爲wx.Image而不是wx.Bitmap。然後你可以使用wx來縮放它。圖像的scale(self, width, height, quality)方法http://www.wxpython.org/docs/api/wx.Image-class.html#Scale

真正的問題是你想讓圖像在每次窗口調整時調整大小。這意味着您需要將wx.EVT_SIZE事件綁定到類中的某個方法(如onSize)。然後每個篩上部分被調用的時候,你需要:

  1. 查找當前窗口的大小,
  2. 規模的wx.Image到大小,
  3. 使用WX將其轉換爲wx.Bitmap。 BitmapFromImage,
  4. 在您的wx.StaticBitmap上調用SetBitmap,傳遞新的位圖。

查看http://zetcode.com/wxpython/events/瞭解wxPython中事件處理的基本介紹,包括wx.EVT_SIZE的示例。