2011-09-14 6 views
0

내 gui의 패널에 이미지를 추가했습니다. 나는이 이미지를 패널에 장착하고 싶습니다. 패널의 legth와 같은 길이로 만들고 싶습니다. 어떻게 할 수 있습니까?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

실제 문제는 창마다 매번 이미지의 크기를 조정하려는 것입니다. 즉, 클래스의 일부 메소드 (예 : onSize)에 wx.EVT_SIZE 이벤트를 바인딩해야합니다.

  • 는 WX를 사용하여 wx.Bitmap로 변환,

    1. 현재 창 크기,
    2. 스케일이 크기로 wx.Image 찾기 : 다음 onSize가 호출 될 때마다, 당신은해야합니다. BitmapFromImage,
    3. wx.StaticBitmap에서 SetBitmap을 호출하여 새 비트 맵을 전달하십시오.

    wx.EVT_SIZE의 예제를 포함하여 wxPython의 이벤트 처리에 대한 기본적인 소개는 http://zetcode.com/wxpython/events/을 참조하십시오.

    관련 문제