Skip to content

Commit 17b18ac

Browse files
Merge pull request #103 from martinschwinzerl/fix/102_test_stylesheet_fail_pyside6
[FIX] wrong handling of border.rectList with PySide6 backend
2 parents 9a6acff + 9d5ae0f commit 17b18ac

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

qwt/plot_canvas.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
:members:
1414
"""
1515

16-
import os
16+
from collections.abc import Sequence
1717

1818
from qtpy.QtCore import QEvent, QObject, QPoint, QPointF, QRect, QRectF, QSize, Qt
1919
from qtpy.QtGui import (
@@ -34,8 +34,6 @@
3434
from qwt.null_paintdevice import QwtNullPaintDevice
3535
from qwt.painter import QwtPainter
3636

37-
QT_API = os.environ["QT_API"]
38-
3937

4038
class Border(object):
4139
def __init__(self):
@@ -71,17 +69,15 @@ def updateState(self, state):
7169
self.__origin = state.brushOrigin()
7270

7371
def drawRects(self, rects, count):
74-
if QT_API.startswith("pyside"):
75-
# Pyside
76-
if isinstance(rects, (QRect, QRectF)):
77-
self.border.list = [rects]
78-
else:
79-
for i in range(count):
80-
self.border.rectList += [rects.getRect().index(i)]
72+
if isinstance(rects, (QRect, QRectF)):
73+
self.border.rectList = [QRectF(rects)]
74+
elif isinstance(rects, Sequence):
75+
self.border.rectList.extend(QRectF(rects[i]) for i in range(count))
8176
else:
82-
# PyQt
83-
for i in range(count):
84-
self.border.rectList += [rects[i]]
77+
raise TypeError(
78+
"drawRects() expects a QRect, QRectF or a sequence of them, "
79+
f"but got {type(rects).__name__}"
80+
)
8581

8682
def drawPath(self, path):
8783
rect = QRectF(QPointF(0.0, 0.0), self.__size)

0 commit comments

Comments
 (0)