qt.py
23 lines
| 806 B
| text/x-python
|
PythonLexer
Peter Würtz
|
r16414 | """ A Qt API selector that can be used to switch between PyQt4/5 and PySide. | ||
MinRK
|
r4191 | |||
This uses the ETS 4.0 selection pattern of: | ||||
Peter Würtz
|
r16414 | PySide first, PyQt4 (API v2.) second, then PyQt5. | ||
MinRK
|
r4191 | |||
Peter Würtz
|
r16414 | Do not use this if you need PyQt4 with the old QString/QVariant API. | ||
Evan Patterson
|
r3304 | """ | ||
import os | ||||
epatters
|
r3306 | |||
Chris Beaumont
|
r9722 | from IPython.external.qt_loaders import (load_qt, QT_API_PYSIDE, | ||
Peter Würtz
|
r16414 | QT_API_PYQT, QT_API_PYQT5) | ||
Evan Patterson
|
r3304 | |||
Chris Beaumont
|
r9722 | QT_API = os.environ.get('QT_API', None) | ||
Peter Würtz
|
r16414 | if QT_API not in [QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5, None]: | ||
raise RuntimeError("Invalid Qt API %r, valid values are: %r, %r, %r" % | ||||
(QT_API, QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5)) | ||||
epatters
|
r3927 | if QT_API is None: | ||
Peter Würtz
|
r16414 | api_opts = [QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5] | ||
epatters
|
r3306 | else: | ||
Chris Beaumont
|
r9722 | api_opts = [QT_API] | ||
QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts) | ||||