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

时间:2013-10-24 21:18:39

标签: python python-2.7 user-interface wxpython

我的窗户尺寸有问题。首次打开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()```

1 个答案:

答案 0 :(得分:1)

只需在创建框架时添加尺寸:

wx.Frame.__init__(self, None, -1, 'CR Part 1', size=(800, 600))