From 749181b0b5c4ce554542f6c3213be31f39421240 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 25 Jul 2019 15:52:37 +0200 Subject: Tooltip label for menubar --- jfr_playoff/gui/frames/__init__.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'jfr_playoff/gui/frames') diff --git a/jfr_playoff/gui/frames/__init__.py b/jfr_playoff/gui/frames/__init__.py index 855be4e..f996263 100644 --- a/jfr_playoff/gui/frames/__init__.py +++ b/jfr_playoff/gui/frames/__init__.py @@ -476,3 +476,24 @@ class NumericSpinbox(tk.Spinbox): val = self._variable.get() if val is None: self._variable.set(self._default) + +class LabelButton(ttk.Button): + def __init__(self, *args, **kwargs): + self.label = None + self.tooltip = None + self._prevTooltip = None + for param in ['label', 'tooltip']: + if param in kwargs: + setattr(self, param, kwargs[param]) + del kwargs[param] + ttk.Button.__init__(self, *args, **kwargs) + if self.label and self.tooltip: + self.bind('', self._onEnter) + self.bind('', self._onLeave) + + def _onEnter(self, *args): + self._prevTooltip = self.label.cget('text') + self.label.configure(text=self.tooltip) + + def _onLeave(self, *args): + self.label.configure(text=self._prevTooltip) -- cgit v1.2.3