1
0
Fork 0
mirror of synced 2024-06-29 11:40:37 +12:00

ElideLabel: Set text on resizeEvent

This commit is contained in:
loathingKernel 2023-02-16 10:47:23 +02:00
parent a438eb764b
commit f2dedaaefc

View file

@ -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)