我注意到 wxGlade(wxPython 的 gui builder)强制将 sizer 作为 wx.Frame 的第一个子元素,这对我来说似乎很奇怪,因为几乎每本书和教程都建议使用 wx.Panel 作为第一个子元素。
因此,如果我想要一个 wx.Panel 作为我的 gui 的基础(例如,在 Windows 上具有一致的默认背景颜色),我必须去:
wx.Frame -> Sizer (1,1) -> wx.Panel -> Sizer (x,x) -> Content
代替
wx.Frame -> wx.Panel -> Content
出于好奇,有人可以向我解释这个设计决定吗?