Browse Source

qt BalanceToolButton: better sizing on high DPI screens

specifically, on Windows, with display scaling > 100%, the pie btn was too small (not scaled)
master
SomberNight 2 years ago
parent
commit
66b24411e0
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 11
      electrum/gui/qt/balance_dialog.py
  2. 6
      electrum/gui/qt/util.py

11
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

6
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):

Loading…
Cancel
Save