Skip to content

Commit 937230b

Browse files
authored
Merge pull request #16 from joegnis/fix-qpoint-multi-div
Fixes multiplication and division operators in QPoint and QPointF
2 parents d64a373 + c6ab2a4 commit 937230b

File tree

2 files changed

+62
-15
lines changed

2 files changed

+62
-15
lines changed

PySide6-stubs/QtCore.pyi

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2029,7 +2029,7 @@ class QDate(Shiboken.Object):
20292029
def __init__(self) -> None: ...
20302030
@overload
20312031
def __init__(self, QDate: PySide6.QtCore.QDate) -> None: ...
2032-
@overload
2032+
@overload
20332033
def __init__(self, dt: datetime.datetime) -> None: ...
20342034
@overload
20352035
def __init__(self, d: datetime.date) -> None: ...
@@ -6163,19 +6163,12 @@ class QPoint(Shiboken.Object):
61636163
@staticmethod
61646164
def __copy__() -> None: ...
61656165
def __iadd__(self, p: PySide6.QtCore.QPoint) -> PySide6.QtCore.QPoint: ...
6166-
@overload
6167-
def __imul__(self, factor: float) -> PySide6.QtCore.QPoint: ...
6168-
@overload
6169-
def __imul__(self, factor: float) -> PySide6.QtCore.QPoint: ...
6170-
@overload
6171-
def __imul__(self, factor: int) -> PySide6.QtCore.QPoint: ...
6166+
def __imul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPoint: ...
61726167
def __isub__(self, p: PySide6.QtCore.QPoint) -> PySide6.QtCore.QPoint: ...
6173-
@overload
6174-
def __mul__(self, factor: float) -> PySide6.QtCore.QPoint: ...
6175-
@overload
6176-
def __mul__(self, factor: float) -> PySide6.QtCore.QPoint: ...
6177-
@overload
6178-
def __mul__(self, factor: int) -> PySide6.QtCore.QPoint: ...
6168+
def __mul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPoint: ...
6169+
def __rmul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPoint: ...
6170+
def __truediv__(self, division: Union[int, float]) -> PySide6.QtCore.QPoint: ...
6171+
def __itruediv__(self, division: Union[int, float]) -> PySide6.QtCore.QPoint: ...
61796172
def __neg__(self) -> PySide6.QtCore.QPoint: ...
61806173
def __pos__(self) -> PySide6.QtCore.QPoint: ...
61816174
def __reduce__(self) -> object: ...
@@ -6209,9 +6202,12 @@ class QPointF(Shiboken.Object):
62096202
@staticmethod
62106203
def __copy__() -> None: ...
62116204
def __iadd__(self, p: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint]) -> PySide6.QtCore.QPointF: ...
6212-
def __imul__(self, c: float) -> PySide6.QtCore.QPointF: ...
6205+
def __imul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPointF: ...
62136206
def __isub__(self, p: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint]) -> PySide6.QtCore.QPointF: ...
6214-
def __mul__(self, c: float) -> PySide6.QtCore.QPointF: ...
6207+
def __mul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPointF: ...
6208+
def __rmul__(self, factor: Union[int, float]) -> PySide6.QtCore.QPointF: ...
6209+
def __truediv__(self, division: Union[int, float]) -> PySide6.QtCore.QPointF: ...
6210+
def __itruediv__(self, division: Union[int, float]) -> PySide6.QtCore.QPointF: ...
62156211
def __neg__(self) -> PySide6.QtCore.QPointF: ...
62166212
def __pos__(self) -> PySide6.QtCore.QPointF: ...
62176213
def __reduce__(self) -> object: ...

tests/qpoint.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from PySide6.QtCore import QPoint, QPointF
2+
3+
4+
def multiplicationQPoint() -> None:
5+
p1 = QPoint(1, 1)
6+
p2 = QPoint(2, 2)
7+
assert p2 == 2 * p1
8+
assert p2 == p1 * 2
9+
p3 = QPoint(p1)
10+
p3 *= 2
11+
assert p3 == p2
12+
p3 *= 0.5
13+
assert p3 == p1
14+
15+
16+
def divisionQPoint() -> None:
17+
p1 = QPoint(2, 2)
18+
assert p1 / 2 == QPoint(1, 1)
19+
assert p1 / 0.5 == QPoint(4, 4)
20+
p1 /= 2
21+
assert p1 == QPoint(1, 1)
22+
p1 /= 0.25
23+
assert p1 == QPoint(4, 4)
24+
25+
26+
def multiplicationQPointF() -> None:
27+
p1 = QPointF(1.5, 1.5)
28+
p2 = QPointF(3, 3)
29+
assert p2 == 2 * p1
30+
assert p2 == p1 * 2
31+
p3 = QPointF(p1)
32+
p3 *= 2
33+
assert p3 == p2
34+
p3 *= 0.5
35+
assert p3 == p1
36+
37+
38+
def divisionQPointF() -> None:
39+
p1 = QPointF(2, 2)
40+
assert p1 / 2 == QPointF(1, 1)
41+
assert p1 / 0.5 == QPointF(4, 4)
42+
p1 /= 2
43+
assert p1 == QPointF(1, 1)
44+
p1 /= 0.5
45+
assert p1 == QPointF(2, 2)
46+
47+
48+
multiplicationQPoint()
49+
divisionQPoint()
50+
multiplicationQPointF()
51+
divisionQPointF()

0 commit comments

Comments
 (0)