ElideLabel: Set text on resizeEvent
This commit is contained in:
parent
a438eb764b
commit
f2dedaaefc
1 changed files with 7 additions and 4 deletions
|
@ -1,5 +1,5 @@
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtGui import QFontMetrics, QPaintEvent
|
from PyQt5.QtGui import QFontMetrics, QResizeEvent
|
||||||
from PyQt5.QtWidgets import QLabel
|
from PyQt5.QtWidgets import QLabel
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,9 +17,12 @@ class ElideLabel(QLabel):
|
||||||
|
|
||||||
def __setElideText(self, a0: str):
|
def __setElideText(self, a0: str):
|
||||||
metrics = QFontMetrics(self.font())
|
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)
|
super(ElideLabel, self).setText(elided_text)
|
||||||
|
|
||||||
def paintEvent(self, a0: QPaintEvent) -> None:
|
def resizeEvent(self, a0: QResizeEvent) -> None:
|
||||||
self.__setElideText(self.__text)
|
self.__setElideText(self.__text)
|
||||||
super(ElideLabel, self).paintEvent(a0)
|
super(ElideLabel, self).resizeEvent(a0)
|
||||||
|
|
Loading…
Reference in a new issue