eric6/E5Gui/E5SqueezeLabels.py

changeset 7366
bd743eacfbca
parent 7360
9190402e4505
child 7780
41420f82c0ac
--- 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))

eric ide

mercurial