【问题标题】:wxPython - Tooltips for notebook tabswxPython - 笔记本标签的工具提示
【发布时间】:2018-04-20 13:46:26
【问题描述】:
我正在使用 wxPython 创建一个 GUI,它使用 wx.Notebook 小部件。
由于我出于设计目的删除了笔记本选项卡上的标签,
我想为每个标签单独添加工具提示
标签的用途。
我想我可以使用 Notebook 类的AddPage() 方法。但它只返回布尔值,因此我不能对任一选项卡使用 SetToolTip() 方法。
我该怎么做呢?
【问题讨论】:
标签:
python-3.x
wxpython
tooltip
wxnotebook
【解决方案1】:
这不是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)