PythonQwt 0.12.4__tar.gz → 0.12.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. {pythonqwt-0.12.4/PythonQwt.egg-info → pythonqwt-0.12.6}/PKG-INFO +2 -2
  2. {pythonqwt-0.12.4 → pythonqwt-0.12.6/PythonQwt.egg-info}/PKG-INFO +2 -2
  3. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt.egg-info/SOURCES.txt +1 -0
  4. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt.egg-info/requires.txt +1 -1
  5. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/pyproject.toml +5 -2
  6. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/__init__.py +1 -1
  7. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_curve.py +2 -2
  8. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/symbol.py +2 -3
  9. pythonqwt-0.12.6/qwt/tests/conftest.py +24 -0
  10. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_errorbar.py +1 -1
  11. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/utils.py +4 -1
  12. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/text.py +4 -3
  13. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/LICENSE +0 -0
  14. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/MANIFEST.in +0 -0
  15. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt-tests.desktop +0 -0
  16. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt.egg-info/dependency_links.txt +0 -0
  17. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt.egg-info/entry_points.txt +0 -0
  18. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/PythonQwt.egg-info/top_level.txt +0 -0
  19. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/README.md +0 -0
  20. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/_static/PythonQwt_logo.png +0 -0
  21. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/_static/QwtPlot_example.png +0 -0
  22. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/_static/panorama.png +0 -0
  23. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/_static/symbol_path_example.png +0 -0
  24. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/conf.py +0 -0
  25. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/bodedemo.rst +0 -0
  26. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/cartesian.rst +0 -0
  27. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/cpudemo.rst +0 -0
  28. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/curvebenchmark1.rst +0 -0
  29. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/curvebenchmark2.rst +0 -0
  30. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/curvedemo1.rst +0 -0
  31. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/curvedemo2.rst +0 -0
  32. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/data.rst +0 -0
  33. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/errorbar.rst +0 -0
  34. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/eventfilter.rst +0 -0
  35. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/image.rst +0 -0
  36. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/index.rst +0 -0
  37. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/logcurve.rst +0 -0
  38. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/mapdemo.rst +0 -0
  39. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/multidemo.rst +0 -0
  40. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/simple.rst +0 -0
  41. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/examples/vertical.rst +0 -0
  42. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/index.rst +0 -0
  43. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/installation.rst +0 -0
  44. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/overview.rst +0 -0
  45. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/plot_example.py +0 -0
  46. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/graphic.rst +0 -0
  47. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/index.rst +0 -0
  48. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/interval.rst +0 -0
  49. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/plot.rst +0 -0
  50. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/plot_directpainter.rst +0 -0
  51. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/plot_layout.rst +0 -0
  52. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/plot_series.rst +0 -0
  53. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/scale.rst +0 -0
  54. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/symbol.rst +0 -0
  55. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/text.rst +0 -0
  56. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/toqimage.rst +0 -0
  57. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/reference/transform.rst +0 -0
  58. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/requirements.txt +0 -0
  59. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/doc/symbol_path_example.py +0 -0
  60. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/_math.py +0 -0
  61. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/color_map.py +0 -0
  62. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/column_symbol.py +0 -0
  63. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/dyngrid_layout.py +0 -0
  64. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/graphic.py +0 -0
  65. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/interval.py +0 -0
  66. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/legend.py +0 -0
  67. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/null_paintdevice.py +0 -0
  68. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/painter.py +0 -0
  69. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/painter_command.py +0 -0
  70. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot.py +0 -0
  71. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_canvas.py +0 -0
  72. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_directpainter.py +0 -0
  73. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_grid.py +0 -0
  74. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_layout.py +0 -0
  75. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_marker.py +0 -0
  76. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_renderer.py +0 -0
  77. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/plot_series.py +0 -0
  78. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/qthelpers.py +0 -0
  79. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/scale_div.py +0 -0
  80. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/scale_draw.py +0 -0
  81. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/scale_engine.py +0 -0
  82. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/scale_map.py +0 -0
  83. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/scale_widget.py +0 -0
  84. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/__init__.py +0 -0
  85. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/comparative_benchmarks.py +0 -0
  86. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/PythonQwt.svg +0 -0
  87. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/bodedemo.png +0 -0
  88. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/cartesian.png +0 -0
  89. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/cpudemo.png +0 -0
  90. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/curvebenchmark1.png +0 -0
  91. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/curvebenchmark2.png +0 -0
  92. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/curvedemo1.png +0 -0
  93. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/curvedemo2.png +0 -0
  94. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/data.png +0 -0
  95. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/errorbar.png +0 -0
  96. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/eventfilter.png +0 -0
  97. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/image.png +0 -0
  98. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/loadtest.png +0 -0
  99. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/logcurve.png +0 -0
  100. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/mapdemo.png +0 -0
  101. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/multidemo.png +0 -0
  102. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/simple.png +0 -0
  103. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/stylesheet.png +0 -0
  104. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/symbol.svg +0 -0
  105. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/symbols.png +0 -0
  106. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/testlauncher.png +0 -0
  107. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/data/vertical.png +0 -0
  108. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_backingstore.py +0 -0
  109. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_bodedemo.py +0 -0
  110. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_cartesian.py +0 -0
  111. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_cpudemo.py +0 -0
  112. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_curvebenchmark1.py +0 -0
  113. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_curvebenchmark2.py +0 -0
  114. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_curvedemo1.py +0 -0
  115. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_curvedemo2.py +0 -0
  116. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_data.py +0 -0
  117. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_eventfilter.py +0 -0
  118. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_highdpi.py +0 -0
  119. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_image.py +0 -0
  120. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_loadtest.py +0 -0
  121. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_logcurve.py +0 -0
  122. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_mapdemo.py +0 -0
  123. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_multidemo.py +0 -0
  124. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_simple.py +0 -0
  125. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_stylesheet.py +0 -0
  126. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_symbols.py +0 -0
  127. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/tests/test_vertical.py +0 -0
  128. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/toqimage.py +0 -0
  129. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/qwt/transform.py +0 -0
  130. {pythonqwt-0.12.4 → pythonqwt-0.12.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PythonQwt
3
- Version: 0.12.4
3
+ Version: 0.12.6
4
4
  Summary: Qt plotting widgets for Python
5
5
  Author-email: Pierre Raybaut <pierre.raybaut@gmail.com>
6
6
  License: PythonQwt License Agreement
@@ -686,7 +686,7 @@ Classifier: Programming Language :: Python :: 3.12
686
686
  Requires-Python: <4,>=3.8
687
687
  Description-Content-Type: text/markdown
688
688
  License-File: LICENSE
689
- Requires-Dist: NumPy<2,>=1.21
689
+ Requires-Dist: NumPy>=1.21
690
690
  Requires-Dist: QtPy>=1.9
691
691
  Provides-Extra: dev
692
692
  Requires-Dist: ruff; extra == "dev"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PythonQwt
3
- Version: 0.12.4
3
+ Version: 0.12.6
4
4
  Summary: Qt plotting widgets for Python
5
5
  Author-email: Pierre Raybaut <pierre.raybaut@gmail.com>
6
6
  License: PythonQwt License Agreement
@@ -686,7 +686,7 @@ Classifier: Programming Language :: Python :: 3.12
686
686
  Requires-Python: <4,>=3.8
687
687
  Description-Content-Type: text/markdown
688
688
  License-File: LICENSE
689
- Requires-Dist: NumPy<2,>=1.21
689
+ Requires-Dist: NumPy>=1.21
690
690
  Requires-Dist: QtPy>=1.9
691
691
  Provides-Extra: dev
692
692
  Requires-Dist: ruff; extra == "dev"
@@ -81,6 +81,7 @@ qwt/toqimage.py
81
81
  qwt/transform.py
82
82
  qwt/tests/__init__.py
83
83
  qwt/tests/comparative_benchmarks.py
84
+ qwt/tests/conftest.py
84
85
  qwt/tests/test_backingstore.py
85
86
  qwt/tests/test_bodedemo.py
86
87
  qwt/tests/test_cartesian.py
@@ -1,4 +1,4 @@
1
- NumPy<2,>=1.21
1
+ NumPy>=1.21
2
2
  QtPy>=1.9
3
3
 
4
4
  [dev]
@@ -31,7 +31,7 @@ classifiers = [
31
31
  "Programming Language :: Python :: 3.12",
32
32
  ]
33
33
  requires-python = ">=3.8, <4"
34
- dependencies = ["NumPy>=1.21,<2", "QtPy>=1.9"]
34
+ dependencies = ["NumPy>=1.21", "QtPy>=1.9"]
35
35
  dynamic = ["version"]
36
36
 
37
37
  [project.urls]
@@ -55,6 +55,9 @@ include = ["qwt*"]
55
55
  [tool.setuptools.dynamic]
56
56
  version = { attr = "qwt.__version__" }
57
57
 
58
+ [tool.pytest.ini_options]
59
+ addopts = "qwt"
60
+
58
61
  [tool.ruff]
59
62
  exclude = [".git", ".vscode", "build", "dist"]
60
63
  line-length = 88 # Same as Black.
@@ -63,7 +66,7 @@ target-version = "py38" # Assume Python 3.8
63
66
 
64
67
  [tool.ruff.lint]
65
68
  # all rules can be found here: https://beta.ruff.rs/docs/rules/
66
- select = ["E", "F", "W", "I"]
69
+ select = ["E", "F", "W", "I", "NPY201"]
67
70
  ignore = [
68
71
  "E203", # space before : (needed for how black formats slicing)
69
72
  ]
@@ -55,7 +55,7 @@ from qwt.symbol import QwtSymbol as QSbl # see deprecated section
55
55
  from qwt.text import QwtText # noqa: F401
56
56
  from qwt.toqimage import array_to_qimage as toQImage # noqa: F401
57
57
 
58
- __version__ = "0.12.4"
58
+ __version__ = "0.12.6"
59
59
  QWT_VERSION_STR = "6.1.5"
60
60
 
61
61
 
@@ -94,8 +94,8 @@ def array2d_to_qpolygonf(xdata, ydata):
94
94
  buffer = polyline.data()
95
95
  buffer.setsize(16 * size) # 16 bytes per point: 8 bytes per X,Y value (float64)
96
96
  memory = np.frombuffer(buffer, np.float64)
97
- memory[: (size - 1) * 2 + 1 : 2] = np.array(xdata, dtype=np.float64, copy=False)
98
- memory[1 : (size - 1) * 2 + 2 : 2] = np.array(ydata, dtype=np.float64, copy=False)
97
+ memory[: (size - 1) * 2 + 1 : 2] = np.asarray(xdata, dtype=np.float64)
98
+ memory[1 : (size - 1) * 2 + 2 : 2] = np.asarray(ydata, dtype=np.float64)
99
99
  return polyline
100
100
 
101
101
 
@@ -19,7 +19,6 @@ from qtpy.QtCore import QLineF, QPoint, QPointF, QRect, QRectF, QSize, QSizeF, Q
19
19
  from qtpy.QtGui import (
20
20
  QBrush,
21
21
  QPainter,
22
- QPainterPath,
23
22
  QPen,
24
23
  QPixmap,
25
24
  QPolygonF,
@@ -342,7 +341,7 @@ class QwtSymbol_PrivateData(object):
342
341
  self.brush = br
343
342
  self.pen = pn
344
343
  self.isPinPointEnabled = False
345
- self.pinPoint = QPointF()
344
+ self.pinPoint = None
346
345
 
347
346
  class Path(object):
348
347
  def __init__(self):
@@ -1236,7 +1235,7 @@ class QwtSymbol(object):
1236
1235
  :py:meth:`setCachePolicy()`, :py:meth:`drawSymbols()`
1237
1236
  """
1238
1237
  if self.__data.cache.pixmap is not None:
1239
- self.__data.cache.pixmap = QPixmap()
1238
+ self.__data.cache.pixmap = None
1240
1239
 
1241
1240
  def setStyle(self, style):
1242
1241
  """
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """pytest configuration for PythonQwt package tests."""
4
+
5
+ import os
6
+
7
+ import qtpy
8
+
9
+ import qwt
10
+ from qwt.tests.utils import TestEnvironment
11
+
12
+ # Set the unattended environment variable to 1 to avoid any user interaction
13
+ os.environ[TestEnvironment.UNATTENDED_ENV] = "1"
14
+
15
+
16
+ def pytest_report_header(config):
17
+ """Add additional information to the pytest report header."""
18
+ qtbindings_version = qtpy.PYSIDE_VERSION
19
+ if qtbindings_version is None:
20
+ qtbindings_version = qtpy.PYQT_VERSION
21
+ return [
22
+ f"PythonQwt {qwt.__version__} [closest Qwt version: {qwt.QWT_VERSION_STR}]",
23
+ f"{qtpy.API_NAME} {qtbindings_version} [Qt version: {qtpy.QT_VERSION}]",
24
+ ]
@@ -255,7 +255,7 @@ class ErrorBarPlotCurve(QwtPlotCurve):
255
255
  # draw the caps
256
256
  if self.errorCap > 0:
257
257
  cap = self.errorCap / 2
258
- n, i, j = len(x), 0, 0
258
+ n, i, _j = len(x), 0, 0
259
259
  lines = []
260
260
  while i < n:
261
261
  xi = xMap.transform(x[i])
@@ -162,7 +162,10 @@ class TestLauncher(QW.QMainWindow):
162
162
  all_act.triggered.connect(lambda checked: run_all_tests(wait=False))
163
163
  folder_act = QW.QAction(self.get_std_icon("DirOpenIcon"), "", self)
164
164
  folder_act.setIconText("Open tests folder")
165
- open_test_folder = lambda checked: os.startfile(TEST_PATH)
165
+
166
+ def open_test_folder(checked):
167
+ return os.startfile(TEST_PATH)
168
+
166
169
  folder_act.triggered.connect(open_test_folder)
167
170
  about_act = QW.QAction(self.get_std_icon("FileDialogInfoView"), "", self)
168
171
  about_act.setIconText("About")
@@ -474,11 +474,11 @@ class QwtText_PrivateData(object):
474
474
 
475
475
  class QwtText_LayoutCache(object):
476
476
  def __init__(self):
477
- self.textSize = QSizeF()
477
+ self.textSize = None
478
478
  self.font = None
479
479
 
480
480
  def invalidate(self):
481
- self.textSize = QSizeF()
481
+ self.textSize = None
482
482
 
483
483
 
484
484
  class QwtText(object):
@@ -987,7 +987,8 @@ class QwtText(object):
987
987
  """
988
988
  font = QFont(self.usedFont(defaultFont))
989
989
  if (
990
- not self.__layoutCache.textSize.isValid()
990
+ self.__layoutCache.textSize is None
991
+ or not self.__layoutCache.textSize.isValid()
991
992
  or self.__layoutCache.font is not font
992
993
  ):
993
994
  self.__layoutCache.textSize = self.__data.textEngine.textSize(
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes