2011-09-08 22 views
0

我正在制作一个带背景图像的程序,而我正在尝试的是让图像精确地适合图像。在WxPython中调整一帧图像的尺寸

很容易引发与图像的尺寸框架:

wx.Frame.__init__(self, parent, title=title, size=(500, 300)) 

,而是因为这也占边框和窗口的标题,这是不完全准确。无法手动调整像素大小(无论如何都不一致),我该怎么办?

编辑:我找到了答案,但看起来我几个小时都无法自我回答。与此同时...

Backdrop = wx.Bitmap("image.png") 
self.SetClientSize((Backdrop.GetWidth(), Backdrop.GetHeight())) 

回答

0

你可以做到相同的事情与分级机,这样也会使事情变得更容易,如果你永远需要包括其他项目的形象一起并控制它们如何与帧比例。

下面是一个框架的基本示例,它调整自身以适应图像。

import wx 

class Frame(wx.Frame): 
    def __init__(self, parent, id, title, img_path): 
    wx.Frame.__init__(self, parent, id, title, 
         style=wx.DEFAULT_FRAME_STYLE^wx.RESIZE_BORDER) 

    image = wx.StaticBitmap(self, wx.ID_ANY) 
    image.SetBitmap(wx.Bitmap(img_path)) 

    sizer = wx.BoxSizer() 
    sizer.Add(image) 
    self.SetSizerAndFit(sizer) 

    self.Show(True) 

app = wx.App() 
frame = Frame(None, wx.ID_ANY, 'Image', '/path/to/file.png') 
app.MainLoop()