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时该参数失效,当窗体水平方向的实际尺寸小于该参数时,滚动条出现,反之不出现

  第四个参数,同第三个参数的效果,只是应用于竖直方向

#############################

你可能感兴趣的:(wxPython)