You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ORPA-pyOpenRPA/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/winpython/qt/__init__.py

82 lines
2.4 KiB

# -*- coding: utf-8 -*-
#
# Copyright © 2011-2012 Pierre Raybaut
# © 2012-2014 anatoly techtonik
# Licensed under the terms of the MIT License
# (copied from Spyder source code [spyderlib.qt])
"""Transitional package (PyQt4 --> PySide)"""
import os
# we shall respect QT_API is set
try:
are_you_set = os.environ['QT_API']
except:
try:
# be friendly with Pyqt5
are_you_here = __import__('PyQt5')
# this standard test (for everybody) may not work for WinPython, so...
from PyQt5.QtCore import PYQT_VERSION_STR as __version__
os.environ.setdefault('QT_API','pyqt5')
except:
os.environ.setdefault('QT_API', 'pyqt')
assert os.environ['QT_API'] in ('pyqt5', 'pyqt', 'pyside', 'pyside2')
API = os.environ['QT_API']
API_NAME = {'pyqt5': 'PyQt5', 'pyqt': 'PyQt4', 'pyside': 'PySide',
'pyside2': 'PySide', 'pyqt4': 'PyQt4'}[API]
PYQT5 = False
if API == 'pyqt5':
try:
from PyQt5.QtCore import PYQT_VERSION_STR as __version__
is_old_pyqt = False
is_pyqt46 = False
PYQT5 = True
except ImportError:
pass
elif API == 'pyqt':
# Spyder 2.3 is compatible with both #1 and #2 PyQt API,
# but to avoid issues with IPython and other Qt plugins
# we choose to support only API #2 for 2.4+
import sip
try:
sip.setapi('QString', 2)
sip.setapi('QVariant', 2)
sip.setapi('QDate', 2)
sip.setapi('QDateTime', 2)
sip.setapi('QTextStream', 2)
sip.setapi('QTime', 2)
sip.setapi('QUrl', 2)
except AttributeError:
# PyQt < v4.6. The actual check is done by requirements.check_qt()
# call from spyder.py
pass
try:
from PyQt4.QtCore import PYQT_VERSION_STR as __version__ # analysis:ignore
except ImportError:
# Switching to PySide
API = os.environ['QT_API'] = 'pyside'
API_NAME = 'PySide'
else:
is_old_pyqt = __version__.startswith(('4.4', '4.5', '4.6', '4.7'))
is_pyqt46 = __version__.startswith('4.6')
import sip
try:
API_NAME += (" (API v%d)" % sip.getapi('QString'))
except AttributeError:
pass
if API == 'pyside':
try:
from PySide import __version__ # analysis:ignore
except ImportError:
raise ImportError("Spyder requires PySide or PyQt to be installed")
else:
is_old_pyqt = is_pyqt46 = False