我想在wx.Frame中获得给定大小的wx.Panel。
我已经尝试了以下代码,以明确指定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()
答案 0 :(得分:0)
如您在this问题中看到的那样,您可以在调用app.MainLoop()之前添加此内容:
import wx.lib.inspection
wx.lib.inspection.InspectionTool().Show()