I am new to wxPython and I am finding some issues while seting a given size for both frames and windows (widgets). I have isolated the issue to the simplest case where I try to create a Frame of 250x250 pixels.
I am using Python 2.7 in Windows 10.
What am I missing?
#!/bin/env python import wx # App Class class MyAppTest7(wx.App): def OnInit(self): frame = AppFrame(title = u'Hello World', pos=(50, 60), size=(250, 250)) frame.Show() self.SetTopWindow(frame) return True # AppFrame class AppFrame(wx.Frame): def __init__(self, title, pos, size): wx.Frame.__init__(self, parent=None, id=-1, title=title, pos=pos, size=size) if __name__ == '__main__': app = MyAppTest7(False) app.MainLoop()
An addtional test to further show issue:
#!/bin/env python import wx class MyApp(wx.App): def OnInit(self): self.frame = MyFrame(None, title="The Main Frame") self.SetTopWindow(self.frame) self.frame.Show(True) return True class MyFrame(wx.Frame): def __init__(self, parent, id=wx.ID_ANY, title="", pos=wx.DefaultPosition, size=(400,100), style=wx.DEFAULT_FRAME_STYLE, name="MyFrame"): super(MyFrame, self).__init__(parent, id, title, pos, size, style, name) self.panel = wx.Panel(self) if __name__ == "__main__": app = MyApp(False) app.MainLoop()
And the result:
As you can see displayed window (frame) has 482 pixels (-see Paint's bottom bar-) instead of the expected 400.