2011-09-14 1 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.Bitmapではなくwx.Imageとして開くことをお勧めします。次に、wx.Imageのscale(self, width, height, quality)メソッドを使用して拡大/縮小できます。http://www.wxpython.org/docs/api/wx.Image-class.html#Scale

本当の問題は、画像がウィンドウごとにサイズ変更されるようにすることです。つまり、wx.EVT_SIZEイベントをクラス内の何らかのメソッド(たとえばonSize)にバインドする必要があります。そして、すべてのOnSize関数が呼び出された時、あなたがする必要があります:現在のウィンドウサイズを探す

  1. そのサイズにスケールwx.Image、
  2. はWXを使用してwx.Bitmapに変換します。 BitmapFromImage
  3. wx.StaticBitmapのSetBitmapを呼び出し、新しいビットマップを渡します。

wx.EVT_SIZEの例を含むwxPythonのイベント処理の基本的な紹介については、http://zetcode.com/wxpython/events/を参照してください。