如何使用wxPython使GUI以正确的大小打开?

2024-10-06 16:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我的窗户大小有问题。当第一次打开GUI时,初始大小只显示窗口中内容的一部分;它太小了。滚动条是存在的,所以我可以获得信息,但我希望它以正确的大小打开,而不是必须对角拖动,这样所有的信息都将可见。另外,当扩大窗口大小时,按钮的外观会出现问题,措辞也会变得像是颠簸。

如何更改大小写器/滚动以使初始窗口打开到正确的大小并显示所有数据?

下面列出了我的部分代码(为了简单起见删除了很多信息),我知道表单不好,抱歉。谢谢你的帮助!

class Part_1(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'CR Part 1')
        global panel

        panel = ScrolledPanel(self)         

        # LAYOUT -----------------------------------------------------
        # Setting up different sizers
        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add(lbl, flag=wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL, border=10)

        staticbox = wx.StaticBoxSizer(wx.StaticBox(panel, wx.ID_ANY, u"Part 1: Initiation (completed by initiator)"), wx.VERTICAL)

        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox1.Add((20,20), 1)
        hbox1.Add(crnum)
        hbox1.Add((0,0), 1)
        hbox1.Add(crrev)
        hbox1.Add((20,20), 1)


        hbox2 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2.Add((20,20), 1)
        hbox2.Add(attachBtn)  
        hbox2.Add((20,20), 1)   

        staticbox.Add(hbox2, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP|wx.BOTTOM, border=25)

        # Add sizers to the the main panel sizer
        vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) 
        vbox.Add(staticbox, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) 
        panel.SetSizer(vbox)
        panel.SetupScrolling()```

Tags: selfadd信息flagexpandwxpartpanel