""" A Qt API selector that can be used to switch between PyQt4/5 and PySide. This uses the ETS 4.0 selection pattern of: PySide first, PyQt4 (API v2.) second, then PyQt5. Do not use this if you need PyQt4 with the old QString/QVariant API. """ import os from IPython.external.qt_loaders import (load_qt, QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5) QT_API = os.environ.get('QT_API', None) 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)) if QT_API is None: api_opts = [QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5] else: api_opts = [QT_API] QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)