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)
我正在使用使用 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)