在下面的示例程序中,我似乎无法让笔记本控件使用我告诉它使用的样式。尽管有FNB_HIDE_ON_SINGLE_TAB
,FNB_NO_NAV_BUTTONS
和FNB_X_ON_TABS
样式,我仍然可以看到导航按钮和没有关闭按钮的单个选项卡。我尝试过的所有样式都是一样的,它们都被完全忽略了。
如果重要的话,我会在 Ubuntu 11.10、python 2.7.2 和 wxPython 2.8.11 上运行它
import wx
import wx.lib.flatnotebook as FNB
class TabCtrl(FNB.FlatNotebook):
def __init__(self, parent):
windowstyle = FNB.FNB_HIDE_ON_SINGLE_TAB|FNB.FNB_NO_NAV_BUTTONS|FNB.FNB_X_ON_TAB
super(TabCtrl, self).__init__(parent, style=windowstyle)
self.pages = []
self.pages.append(wx.Panel(self))
self.AddPage(self.pages[0], 'Test')
class MainFrame(wx.Frame):
def __init__(self, *args, **kwargs):
super(MainFrame, self).__init__(*args, **kwargs)
self.panel = wx.Panel(self)
self.tabs = TabCtrl(self.panel)
sizer = wx.GridBagSizer(vgap=8, hgap=8)
sizer.Add(self.tabs, (0, 0), (10, 30), wx.EXPAND)
sizer.AddGrowableCol(29)
sizer.AddGrowableRow(9)
self.panel.SetSizer(sizer)
self.panel.Fit()
self.SetInitialSize()
class App(wx.App):
def __init__(self, *args, **kwargs):
super(App, self).__init__(*args, **kwargs)
self.frame = MainFrame(None, title='Test')
self.frame.Show()
app = App()
app.MainLoop()