Python WxBython删除窗口边框

Python WxBython删除窗口边框,python,image,wxpython,border,Python,Image,Wxpython,Border,我使用了源代码- 问题是如何使用param-wx.NO_border或wx.border_NONE显示没有边框的窗口 frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE) 当我使用它时,图像显示左上角有切口,有什么建议吗 像这样: 您将使用以下方式获得指定大小的图片: control = wx.StaticBitmap(parent, -1, bitmap) 然而,这不是定义面板和框架的标准方式。最常见的情况是,

我使用了源代码-

问题是如何使用param-wx.NO_border或wx.border_NONE显示没有边框的窗口

frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE)
当我使用它时,图像显示左上角有切口,有什么建议吗

像这样:


您将使用以下方式获得指定大小的图片:

control = wx.StaticBitmap(parent, -1, bitmap)
然而,这不是定义面板和框架的标准方式。最常见的情况是,
框架
具有大小调整器,
面板
位于大小调整器的插槽中。施胶器完成定位和扩展面板内容的所有工作

例如(使用wxPython Phoenix版本):

在这里,我给了面板一个红色,表示它填充了150x150帧的所有空间,而缩放到100x100的图片位于面板上的默认位置(左上)


您在框架上放置了哪些小部件?如果有一个或多个子窗口小部件,并且没有对其大小或位置进行任何管理,则图像中显示的内容是常见的。为您的问题添加一个最小但可运行的应用程序将非常有帮助。请查看更新的代码!如果您删除(style=wx.BORDER\u NONE),它将正确显示!
control = wx.StaticBitmap(parent, -1, bitmap)
import wx

def scale_bitmap(impath, width, height):
    image = wx.Image(impath, wx.BITMAP_TYPE_JPEG)
    image = image.Scale(width, height, wx.IMAGE_QUALITY_HIGH)
    result = wx.Bitmap(image)
    return result

class Panel(wx.Panel):
    def __init__(self, parent, impath=None):
        super(Panel, self).__init__(parent, -1)
        bitmap = scale_bitmap(impath, 100, 100)
        self.control = wx.StaticBitmap(self, -1, bitmap)


class MyFrame(wx.Frame):
    def __init__(self, parent, imgpath=None): 
        wx.Frame.__init__(self, parent, -1, style=wx.BORDER_NONE)
        self.panel = Panel(self, imgpath)
        self.panel.SetBackgroundColour('red')

        self.SetSize(150,150)
        self.SetPosition((100,100))

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.panel, 1, wx.EXPAND)
        self.SetSizer(sizer)
        self.Layout()


if __name__ == '__main__':
    app = wx.App()
    frame = MyFrame(None, imgpath=r'C:/Users/joaquin/Desktop/llave.jpg') 
    frame.Show()
    app.MainLoop()