|
13 | 13 | :members: |
14 | 14 | """ |
15 | 15 |
|
16 | | -import os |
| 16 | +from collections.abc import Sequence |
17 | 17 |
|
18 | 18 | from qtpy.QtCore import QEvent, QObject, QPoint, QPointF, QRect, QRectF, QSize, Qt |
19 | 19 | from qtpy.QtGui import ( |
|
34 | 34 | from qwt.null_paintdevice import QwtNullPaintDevice |
35 | 35 | from qwt.painter import QwtPainter |
36 | 36 |
|
37 | | -QT_API = os.environ["QT_API"] |
38 | | - |
39 | 37 |
|
40 | 38 | class Border(object): |
41 | 39 | def __init__(self): |
@@ -71,17 +69,15 @@ def updateState(self, state): |
71 | 69 | self.__origin = state.brushOrigin() |
72 | 70 |
|
73 | 71 | 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)) |
81 | 76 | 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 | + ) |
85 | 81 |
|
86 | 82 | def drawPath(self, path): |
87 | 83 | rect = QRectF(QPointF(0.0, 0.0), self.__size) |
|
0 commit comments