From bb49592adf95de2b99b6aea35fa6616e479216f7 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 25 Feb 2021 12:04:18 +0100 Subject: [PATCH] implemented proxy label for actions --- pype/tools/settings/local_settings/widgets.py | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/pype/tools/settings/local_settings/widgets.py b/pype/tools/settings/local_settings/widgets.py index ebb14a3102..e3c9590438 100644 --- a/pype/tools/settings/local_settings/widgets.py +++ b/pype/tools/settings/local_settings/widgets.py @@ -1,4 +1,4 @@ -from Qt import QtWidgets +from Qt import QtWidgets, QtCore from pype.tools.settings.settings.widgets.widgets import ( ExpandingWidget, SpacerWidget @@ -20,3 +20,29 @@ class Separator(QtWidgets.QFrame): layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(5, 5, 5, 5) layout.addWidget(splitter_item) + + +class ProxyLabelWidget(QtWidgets.QWidget): + def __init__(self, label, mouse_release_callback, parent=None): + super(ProxyLabelWidget, self).__init__(parent) + + self.mouse_release_callback = mouse_release_callback + + layout = QtWidgets.QVBoxLayout(self) + layout.setContentsMargins(0, 0, 0, 0) + layout.setSpacing(0) + + label_widget = QtWidgets.QLabel(label, self) + layout.addWidget(label_widget) + + self.setAttribute(QtCore.Qt.WA_TranslucentBackground) + + self.label_widget = label_widget + + def setText(self, text): + self.label_widget.setText(text) + + def mouseReleaseEvent(self, event): + if self.mouse_release_callback: + return self.mouse_release_callback(event) + return super(ProxyLabelWidget, self).mouseReleaseEvent(event)