--- a/eric6/E5Gui/E5SqueezeLabels.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/E5Gui/E5SqueezeLabels.py Wed Jan 08 18:58:31 2020 +0100 @@ -37,7 +37,11 @@ @param event reference to the paint event (QPaintEvent) """ fm = self.fontMetrics() - if fm.width(self.__text) > self.contentsRect().width(): + try: + pixelLength = fm.horizontalAdvance(self.__text) + except AttributeError: + pixelLength = fm.width(self.__text) + if pixelLength > self.contentsRect().width(): self.__elided = fm.elidedText( self.text(), Qt.ElideMiddle, self.width()) super(E5SqueezeLabel, self).setText(self.__elided) @@ -110,9 +114,7 @@ @param event reference to the paint event (QPaintEvent) """ - fm = self.fontMetrics() - if (fm.width(self.__surrounding.format(self.__path)) > - self.contentsRect().width()): + if self.length(self.__path) > self.contentsRect().width(): super(E5SqueezeLabelPath, self).setText( self.__surrounding.format(compactPath(self.__path, self.contentsRect().width(), @@ -130,4 +132,8 @@ @param txt text to calculate the length for after wrapped (string) @return length of the wrapped text in pixels (integer) """ - return self.fontMetrics().width(self.__surrounding.format(txt)) + fm = self.fontMetrics() + try: + return fm.horizontalAdvance(self.__surrounding.format(txt)) + except AttributeError: + return fm.width(self.__surrounding.format(txt))