wxPython實現Tab頁效果

效果:app



方案:
使用,每一個tab頁是一個pannel,而後wx.Notebook這個能夠實現標籤的效果,這個類有一個.AddPage方法,把每一個pannel頁加進去就能夠了。

直接上代碼:oop

#coding=utf-8
import wx
class Page1(wx.Panel):
    def __init__(self,parent):
        wx.Panel.__init__(self, parent)
        v_box_sizer = wx.BoxSizer(wx.VERTICAL)
        v_box_sizer.Add(wx.StaticText(self,label='Page One Line1'), proportion=0, flag=wx.EXPAND)
        v_box_sizer.Add(wx.StaticText(self,label='Page One Line2'), proportion=1, flag=wx.EXPAND)

        self.SetSizer(v_box_sizer)

class Page2(wx.Panel):
    def __init__(self,parent):
        wx.Panel.__init__(self, parent)
        wx.StaticText(self,label='Page Two2')


class Page3(wx.Panel):
    def __init__(self,parent):
        wx.Panel.__init__(self, parent)
        wx.StaticText(self,label='Page Three3')


if __name__ == '__main__':
    app = wx.App(False)
    frame = wx.Frame(None, title="Notebook Demo")
    nb = wx.Notebook(frame)
    nb.AddPage(Page1(nb),"Page One")
    nb.AddPage(Page2(nb),"Page Two")
    nb.AddPage(Page3(nb),"Page Three")
    frame.Show()
    app.MainLoop()
相關文章
相關標籤/搜索