From 1e29a7c14a069c203808ad5f64bd0c1014ef1b92 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 23 Nov 2021 12:37:58 +0100 Subject: [PATCH] implemented basic ImageButton --- openpype/tools/utils/widgets.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/openpype/tools/utils/widgets.py b/openpype/tools/utils/widgets.py index 493255071d..3b1ae877b9 100644 --- a/openpype/tools/utils/widgets.py +++ b/openpype/tools/utils/widgets.py @@ -38,6 +38,32 @@ class PlaceholderLineEdit(QtWidgets.QLineEdit): self.setPalette(filter_palette) +class ImageButton(QtWidgets.QPushButton): + """PushButton with icon and size of font. + + Using font metrics height as icon size reference. + + TODO: + - handle changes of screen (different resolution) + """ + + def __init__(self, *args, **kwargs): + super(ImageButton, self).__init__(*args, **kwargs) + self.setObjectName("ImageButton") + + def _change_size(self): + font_height = self.fontMetrics().height() + self.setIconSize(QtCore.QSize(font_height, font_height)) + + def showEvent(self, event): + super(ImageButton, self).showEvent(event) + + self._change_size() + + def sizeHint(self): + return self.iconSize() + + class AssetWidget(QtWidgets.QWidget): """A Widget to display a tree of assets with filter