wxPython - 笔记本选项卡的工具提示

wxPython - Tooltips for notebook tabs

我正在使用使用 wx.Notebook 小部件的 wxPython 创建一个 GUI。 由于出于设计目的我删除了笔记本选项卡上的标签, 我想为每个选项卡单独添加工具提示 选项卡的用途。

我想我可以使用 Notebook class 的 AddPage() 方法。但它只有 returns 布尔值,所以我不能对任何一个选项卡使用 SetToolTip() 方法。 我该怎么做?

这不是 wx.Notebook 小部件的内置功能。您可以通过绑定到 wx.EVT_MOTION 并检查鼠标位置以确定何时设置工具提示来自己完成。

AUINotebook 可能是更好的选择,因为它有一个 TabHitTest 方法。 wxPython 组中有人提到了一种向其添加工具提示的方法:http://wxpython-users.1045709.n5.nabble.com/setting-a-tooltip-on-auinotebook-tab-td5548750.html

这是他们最终在鼠标悬停事件处理程序中使用的代码:

def OnMouseOver(self, evt):
    """ mouse over on a tab """

    desc = None
    n    = self.GetSelection()
    if n != -1:
        page_info = self._tabs.GetPage(n)
        ctrl, ctrl_idx = self.FindTab(page_info.window)
        if ctrl:
            ctrl.SetToolTipString(desc)