我在Windows 8操作系统上使用python v2.7和wxPython v3.0。 在下面提供的代码片段中,只创建一个框架,其中包含一个包含图像的垂直sizer和另一个包含两个面板的水平sizer。
问题:当我通过拖动边框调整框架大小时,面板会自动调整大小。与面板不同,图像不会调整大小?在调整大小的情况下,如何让我的图像像面板一样?
代码:可以从此处下载使用的图片文件:green.bmp
import wx
class Frame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, style=wx.DEFAULT_FRAME_STYLE)
panelA = wx.Panel(self,-1)
imageFile = wx.Image('greenbig.bmp', wx.BITMAP_TYPE_ANY).ConvertToBitmap()
myBitmap = wx.StaticBitmap(panelA, -1, imageFile)
panel1 = wx.Panel(self, -1,style=wx.SIMPLE_BORDER)
panel2 = wx.Panel(self, -1, style=wx.SIMPLE_BORDER)
panelSizer = wx.BoxSizer(wx.HORIZONTAL)
panelSizer.Add(panel1, 1, wx.ALL|wx.EXPAND, 0)
panelSizer.Add(panel2, 1, wx.ALL|wx.EXPAND, 0)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(panelA, 1, wx.ALL|wx.EXPAND, 0)
sizer.Add(panelSizer, 1, wx.ALL|wx.EXPAND, 0)
self.SetSizer(sizer)
self.Show(True)
app = wx.App()
frame = Frame(None, wx.ID_ANY, 'Image')
app.MainLoop()
感谢您的时间!
答案 0 :(得分:0)
图像永远不会自动调整大小。如果您想要这种行为,则需要处理wxEVT_SIZE
并在其处理程序中自行完成。