From f2dedaaefcd699c3e230de51738daea92497717e Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Thu, 16 Feb 2023 10:47:23 +0200 Subject: [PATCH] ElideLabel: Set text on `resizeEvent` --- rare/widgets/elide_label.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rare/widgets/elide_label.py b/rare/widgets/elide_label.py index e8e58966..8aafc541 100644 --- a/rare/widgets/elide_label.py +++ b/rare/widgets/elide_label.py @@ -1,5 +1,5 @@ from PyQt5.QtCore import Qt -from PyQt5.QtGui import QFontMetrics, QPaintEvent +from PyQt5.QtGui import QFontMetrics, QResizeEvent from PyQt5.QtWidgets import QLabel @@ -17,9 +17,12 @@ class ElideLabel(QLabel): def __setElideText(self, a0: str): metrics = QFontMetrics(self.font()) - elided_text = metrics.elidedText(a0, Qt.ElideRight, self.width()) + elided_text = metrics.elidedText( + a0, Qt.ElideRight, + self.width() - self.contentsMargins().left() - self.contentsMargins().right() + ) super(ElideLabel, self).setText(elided_text) - def paintEvent(self, a0: QPaintEvent) -> None: + def resizeEvent(self, a0: QResizeEvent) -> None: self.__setElideText(self.__text) - super(ElideLabel, self).paintEvent(a0) + super(ElideLabel, self).resizeEvent(a0)