我正在使用 wxPython 创建一个使用 wx.Notebook 小部件的 GUI。由于我出于设计目的删除了笔记本选项卡上的标签,因此我想为每个选项卡单独添加工具提示,以显示选项卡的用途。
我以为我可以使用AddPage()
Notebook 类的方法。但它只返回 bool 值,因此我不能SetToolTip()
对任一选项卡使用该方法。我该怎么做呢?
我正在使用 wxPython 创建一个使用 wx.Notebook 小部件的 GUI。由于我出于设计目的删除了笔记本选项卡上的标签,因此我想为每个选项卡单独添加工具提示,以显示选项卡的用途。
我以为我可以使用AddPage()
Notebook 类的方法。但它只返回 bool 值,因此我不能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)