wxPython - Подсказки для вкладок в блокноте
Я создаю графический интерфейс с помощью wxPython, который использует виджет wx.Notebook. Поскольку я удалил надписи на вкладках "Блокнот" для целей дизайна, я хотел бы добавить всплывающие подсказки для каждой вкладки в отдельности, которые показывают назначение вкладки.
Я думал, что мог бы использовать AddPage()
метод класса Notebook. Но он возвращает только значения bool, так что я не могу использовать SetToolTip()
метод для любой вкладки. Как бы я поступил так?
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)