wxpython-带滚动条的窗口
wxpython的默认窗体类wx.Frame并不带滚动条
如果需要滚动条,需要在初始化的时候进行设定
下边是一个示例:
View Code
1 #coding=utf8 2 3 import wx 4 5 class MsgWindow(wx.Frame): 6 def __init__(self, parent, id, title): 7 wx.Frame.__init__(self, parent, id, title, pos=(640,0)) 8 9 #重要的就下边两句 10 self.scroller = wx.ScrolledWindow(self, -1) 11 self.scroller.SetScrollbars(1, 1, 1440, 900) 12 13 self.pnl = pnl = wx.Panel(self.scroller) 14 self.ms = ms = wx.BoxSizer(wx.VERTICAL) 15 16 self.SetMinSize((300,640)) 17 self.pnl.SetSizer(self.ms) 18 self.ms.Fit(self) 19 20 if __name__ == '__main__': 21 app = wx.App(redirect=False) 22 msg_win = MsgWindow(None, -1, u'消息') 23 msg_win.Show(True) 24 app.MainLoop()
第一句 self.scroller = wx.ScrolledWindow(self, -1)
作用是创建一个滚动条对象,不用多解释
第二句 self.scroller.SetScrollbars(1, 1, 1440, 900)
设定滚动条参数:
第一个参数,是窗体底部水平方向的滚动条,1为有,0为无
第二个参数,是窗体右侧竖直方向的滚动条,1为有,0为无
第三个参数,是水平方向的滚动条触发条件,第一个参数为0时该参数失效,当窗体水平方向的实际尺寸小于该参数时,滚动条出现,反之不出现
第四个参数,同第三个参数的效果,只是应用于竖直方向
#############################