我编写了一些代码,这些代码显示一个wx.Frame,其中有一个wx.Panel,其中有一个jpg。jpg与框架大小相同,因此当程序启动时,用户会看到一幅覆盖整个窗口的图片。覆盖在这张图片的顶部,位于面板的中心,我想要放置一个包含各种小部件的wx.BoxSizer。到目前为止,我已经看到了sizer,但是,尽管我尝试,我不能将它从面板的最左上角移到中间。毫无疑问,有很多关于网格和边界的循环方法,但是在我开始这条路径之前,我想知道我是否遗漏了一些简单的东西,并且有一个命令可以用于在面板的一个指定部分中定位小部件。
ps。我也知道我可以使用绝对定位来完成这个任务,但是我希望能够调整窗口的大小,同时保持它的中心位置。
发布于 2011-10-06 15:11:54
正常情况下,你看不见任何一个信号器。但不管怎么说,你并不是真正地把一个筛子对准中心。您将小部件集中在sizer中。因此,当您向sizer添加一个小部件时,您可能希望这样做:
mySizer = wx.BoxSizer(wx.VERTICAL)
mySizer.Add(widget, 0, wx.CENTER|wx.ALL, 5)现在,这只会使它水平地居中。如果您希望它位于面板的中心,那么创建另一个面向水平的BoxSizer,并将第一个sizer添加到第二个sizer中,以它为中心。
hSizer = wx.BoxSizer(wx.HORIZONTAL)
hSizer.Add(mySizer, 0, wx.CENTER)https://stackoverflow.com/questions/7673279
复制相似问题