0

次のサンプル プログラムでは、使用するように指示したスタイルをノートブック コントロールに使用させることができないようです。とのスタイルにもかかわらず、FNB_HIDE_ON_SINGLE_TABナビゲーションボタンと、閉じるボタンのない 1 つのタブが表示されます。私が試したすべてのスタイルで同じです。それらはすべて完全に無視されます。FNB_NO_NAV_BUTTONSFNB_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()
4

2 に答える 2

1

FNB_NO_NAV_BUTTONS と FNB_X_ON_TABS はどちらも、wxPython 2.8.12、Windows 7、Python 2.6 を使用して (wxPython デモを使用して) 私のマシンで動作します。AGW ウィジェット セットについては、SVN から最新バージョンをダウンロードすることを強くお勧めします。私はそのライブラリの作成者を知っており、彼は常にそれを更新してバグを修正しているので、SVN を最新に更新することは通常価値があります。

編集:私はこれをもう一度見ていましたが、少なくともこれらのフラグのいくつかを間違ったパラメーターに入れていると思います. FlatNotebookにも「agwStyle」引数があり、FlatNotebook関連のフラグの一部またはすべてを適用する必要があると考えています:

super(TabCtrl, self).__init__(parent, agwStyle=windowstyle)
于 2012-04-17T13:30:04.467 に答える
0

バグかもしれません。私は成功せずにスタイルを変更するためにさまざまな方法を試しました. スタイルの変更に関しては、wxPyWikiにある例でさえ機能しません。

wxPython-users メーリング リストで質問することを検討します。

于 2012-04-17T08:48:02.637 に答える