|
14 | 14 | """
|
15 | 15 |
|
16 | 16 | import os
|
| 17 | +from collections.abc import Sequence |
17 | 18 |
|
18 | 19 | from qtpy.QtCore import QEvent, QObject, QPoint, QPointF, QRect, QRectF, QSize, Qt
|
19 | 20 | from qtpy.QtGui import (
|
|
34 | 35 | from qwt.null_paintdevice import QwtNullPaintDevice
|
35 | 36 | from qwt.painter import QwtPainter
|
36 | 37 |
|
37 |
| -QT_API = os.environ["QT_API"] |
38 |
| - |
39 | 38 |
|
40 | 39 | class Border(object):
|
41 | 40 | def __init__(self):
|
@@ -71,19 +70,15 @@ def updateState(self, state):
|
71 | 70 | self.__origin = state.brushOrigin()
|
72 | 71 |
|
73 | 72 | def drawRects(self, rects, count):
|
74 |
| - if QT_API.startswith("pyside"): |
75 |
| - # Pyside |
76 |
| - if isinstance(rects, (QRect, QRectF)): |
77 |
| - self.border.rectList = [rects] |
78 |
| - elif isinstance(rects, list): |
79 |
| - self.border.rectList += rects |
80 |
| - else: |
81 |
| - for i in range(count): |
82 |
| - self.border.rectList += [rects.getRect().index(i)] |
| 73 | + if isinstance(rects, (QRect, QRectF)): |
| 74 | + self.border.rectList = [QRectF(rects)] |
| 75 | + elif isinstance(rects, Sequence): |
| 76 | + self.border.rectList.extend(QRectF(rects[i]) for i in range(count)) |
83 | 77 | else:
|
84 |
| - # PyQt |
85 |
| - for i in range(count): |
86 |
| - self.border.rectList += [rects[i]] |
| 78 | + raise TypeError( |
| 79 | + "drawRects() expects a QRect, QRectF or a sequence of them, " |
| 80 | + f"but got {type(rects).__name__}" |
| 81 | + ) |
87 | 82 |
|
88 | 83 | def drawPath(self, path):
|
89 | 84 | rect = QRectF(QPointF(0.0, 0.0), self.__size)
|
|
0 commit comments