+ -
当前位置:首页 → 问答吧 → wxpython如何获取notebook控件的标签文字

wxpython如何获取notebook控件的标签文字

时间:2009-09-08

来源:互联网

我想得到notebook控件的当前标签的字符串。
self.cmdpanel = wx.Notebook(self, -1, size=wx.DefaultSize, style=
  wx.BK_DEFAULT)

调用了self.cmdpanel.GetPageText(self.cmdpanel .GetSelection())方法出现以下错误。

ValueError: in method 'BookCtrlBase_GetPageText', expected argument 2 of
type 'size_t'

我该怎么得到当前标签的'size_t'值呢?

网上Google了一下有人说用int值可以,可为什么GetSelection()得到的int值不行呢?

作者: Jackyma1981   发布时间: 2009-09-08

自己顶一下,希望好心人看到帮帮忙。

作者: Jackyma1981   发布时间: 2009-09-09

按理说你的做法是对的,最多是强制把结果转成数字试试。但是,如果实在不行的话,这样做应该行,虽然麻烦一点。你看看我下面的代码就知道怎么办了。

Python code
    def GetNotebookPageTitle(self, panel):
        index = self.GetNotebookPageIndex(panel)
        if index != -1:
            return self._notebook.GetPageText(self.GetNotebookPageIndex(panel))
        else:
            return None


    def SetNotebookPageTitle(self, panel, title):
        self._notebook.SetPageText(self.GetNotebookPageIndex(panel), title)


    def GetNotebookPageIndex(self, panel):
        """
        Returns the index of particular notebook panel.
        """
        index = -1
        for i in range(self._notebook.GetPageCount()):
            if self._notebook.GetPage(i) == panel:
                index = i
                break
        return index

作者: Semigod   发布时间: 2009-09-10

我也刚学wxPython,帮顶吧

作者: thy38   发布时间: 2009-09-10

转换成

作者: chenzhp   发布时间: 2009-09-12

我也刚学Python,帮顶!

作者: xuwenhao2002   发布时间: 2010-12-07