diff --git a/electrum/gui/qt/balance_dialog.py b/electrum/gui/qt/balance_dialog.py index 4bbd29738..a16fe8dd9 100644 --- a/electrum/gui/qt/balance_dialog.py +++ b/electrum/gui/qt/balance_dialog.py @@ -102,9 +102,8 @@ class BalanceToolButton(QToolButton, PieChartObject): def __init__(self): QToolButton.__init__(self) - self.size = max(18, font_height()) self._list = [] - self.R = QRect(6, 3, self.size, self.size) + self._update_size() def update_list(self, l): self._list = l @@ -118,6 +117,14 @@ class BalanceToolButton(QToolButton, PieChartObject): QToolButton.paintEvent(self, event) PieChartObject.paintEvent(self, event) + def resizeEvent(self, e): + super().resizeEvent(e) + self._update_size() + + def _update_size(self): + size = max(18, font_height(self)) + self.R = QRect(6, 3, size, size) + class LegendWidget(QWidget): size = 20 diff --git a/electrum/gui/qt/util.py b/electrum/gui/qt/util.py index beb2d547f..4a1baf18c 100644 --- a/electrum/gui/qt/util.py +++ b/electrum/gui/qt/util.py @@ -1262,8 +1262,10 @@ def char_width_in_lineedit() -> int: return max(9, char_width) -def font_height() -> int: - return QFontMetrics(QLabel().font()).height() +def font_height(widget: QWidget = None) -> int: + if widget is None: + widget = QLabel() + return QFontMetrics(widget.font()).height() def webopen(url: str):