轉載:https://www.cnblogs.com/evilloop/archive/2013/01/30/2883838.html
wxpython的默認窗體類wx.Frame並不帶滾動條
如果需要滾動條,需要在初始化的時候進行設定
下邊是一個示例:
#coding=utf8 import wx class MsgWindow(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, pos=(640,0)) #重要的就下邊兩句 self.scroller = wx.ScrolledWindow(self, -1) self.scroller.SetScrollbars(1, 1, 1440, 900) self.pnl = pnl = wx.Panel(self.scroller) self.ms = ms = wx.BoxSizer(wx.VERTICAL) self.SetMinSize((300,640)) self.pnl.SetSizer(self.ms) self.ms.Fit(self) if __name__ == '__main__': app = wx.App(redirect=False) msg_win = MsgWindow(None, -1, u'消息') msg_win.Show(True) app.MainLoop()
第一句 self.scroller = wx.ScrolledWindow(self, -1)
作用是創建一個滾動條對象,不用多解釋
第二句 self.scroller.SetScrollbars(1, 1, 1440, 900)
設定滾動條參數:
第一個參數,是窗體底部水平方向的滾動條,1為有,0為無
第二個參數,是窗體右側豎直方向的滾動條,1為有,0為無
第三個參數,是水平方向的滾動條觸發條件,第一個參數為0時該參數失效,當窗體水平方向的實際尺寸小於該參數時,滾動條出現,反之不出現
第四個參數,同第三個參數的效果,只是應用於豎直方向