69
69
70
70
71
71
def _setup_pyqt5plus ():
72
- global QtCore , QtGui , QtWidgets , __version__ , _isdeleted , _getSaveFileName
72
+ global QtCore , QtGui , QtWidgets , __version__
73
+ global _getSaveFileName , _isdeleted , _to_int
73
74
74
75
if QT_API == QT_API_PYQT6 :
75
76
from PyQt6 import QtCore , QtGui , QtWidgets , sip
@@ -78,10 +79,15 @@ def _setup_pyqt5plus():
78
79
QtCore .Slot = QtCore .pyqtSlot
79
80
QtCore .Property = QtCore .pyqtProperty
80
81
_isdeleted = sip .isdeleted
82
+ _to_int = operator .attrgetter ('value' )
81
83
elif QT_API == QT_API_PYSIDE6 :
82
84
from PySide6 import QtCore , QtGui , QtWidgets , __version__
83
85
import shiboken6
84
86
def _isdeleted (obj ): return not shiboken6 .isValid (obj )
87
+ if __version__ >= '6.4' :
88
+ _to_int = operator .attrgetter ('value' )
89
+ else :
90
+ _to_int = int
85
91
elif QT_API == QT_API_PYQT5 :
86
92
from PyQt5 import QtCore , QtGui , QtWidgets
87
93
import sip
@@ -90,6 +96,7 @@ def _isdeleted(obj): return not shiboken6.isValid(obj)
90
96
QtCore .Slot = QtCore .pyqtSlot
91
97
QtCore .Property = QtCore .pyqtProperty
92
98
_isdeleted = sip .isdeleted
99
+ _to_int = int
93
100
elif QT_API == QT_API_PYSIDE2 :
94
101
from PySide2 import QtCore , QtGui , QtWidgets , __version__
95
102
try :
@@ -98,6 +105,7 @@ def _isdeleted(obj): return not shiboken6.isValid(obj)
98
105
import shiboken2
99
106
def _isdeleted (obj ):
100
107
return not shiboken2 .isValid (obj )
108
+ _to_int = int
101
109
else :
102
110
raise AssertionError (f"Unexpected QT_API: { QT_API } " )
103
111
_getSaveFileName = QtWidgets .QFileDialog .getSaveFileName
@@ -144,9 +152,6 @@ def _isdeleted(obj):
144
152
# PyQt6 enum compat helpers.
145
153
146
154
147
- _to_int = operator .attrgetter ("value" ) if QT_API == "PyQt6" else int
148
-
149
-
150
155
@functools .lru_cache (None )
151
156
def _enum (name ):
152
157
# foo.bar.Enum.Entry (PyQt6) <=> foo.bar.Entry (non-PyQt6).
0 commit comments