0
wx.Frame 내에서 지정된 크기의 wx.Panel을 가져 오려고합니다.wx.Panel에 wx.Frame 내에서 특정 폭과 높이를 지정합니다. (wxPython - wxWidgets)
나는 wx.Panel 크기를 명확하게 지정하기 위해 다음 코드를 시도했습니다.
응용 프로그램을 실행할 때 wx.Panel의 너비가 100 픽셀보다 큰 것으로 나타납니다.
Actual wx.Panel width is about 125pixels instead of 100
누군가가 나 제대로 여기에 사용하지 않을 것을 식별하는 데 도움이 될 수 있을까요?
#!/bin/env python
import wx
# App Class
class MyAppTest6(wx.App):
def OnInit(self):
frame = AppFrame(title = u'Hello World', pos=(50, 60), size=(150, 250))
frame.Show()
#self.SetTopWindow(frame)
return True
# Form Panel, 300 pixels Panel
class Form(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, size=(100, 100))
self.SetBackgroundColour('RED')
self.SetInitialSize(
(100,100)
)
self.SetSize(
(100,100)
)
# AppFrame
class AppFrame(wx.Frame):
def __init__(self, title, pos, size):
wx.Frame.__init__(self, None, -1, title, pos, size)
# Define color
self.SetBackgroundColour('LIGHTGREY')
# Add elements
self.form = Form(self)
# Layout
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.AddStretchSpacer()
sizer.Add(self.form, 0, wx.CENTER)
sizer.AddStretchSpacer()
self.SetSizer(sizer)
if __name__ == '__main__':
app = MyAppTest6(False)
app.MainLoop()