Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

version check Qt bindings in external.qt

require PySide >= 1.0.3 or PyQt4 >= 4.7

closes gh-724
  • Loading branch information...
commit be3e7ed4d42bce5e820156020ee19e646787d70c 1 parent 7070308
@minrk authored
Showing with 13 additions and 1 deletion.
  1. +13 −1 IPython/external/qt.py
View
14 IPython/external/qt.py
@@ -25,14 +25,21 @@ def prepare_pyqt4():
if QT_API is None:
try:
import PySide
+ if PySide.__version__ < '1.0.3':
+ # old PySide, fallback on PyQt
+ raise ImportError
QT_API = QT_API_PYSIDE
except ImportError:
try:
prepare_pyqt4()
import PyQt4
+ from PyQt4 import QtCore
+ if QtCore.PYQT_VERSION_STR < '4.7':
+ # PyQt 4.6 has issues with null strings returning as None
+ raise ImportError
QT_API = QT_API_PYQT
except ImportError:
- raise ImportError('Cannot import PySide or PyQt4')
+ raise ImportError('Cannot import PySide >= 1.0.3 or PyQt4 >= 4.7')
elif QT_API == QT_API_PYQT:
# Note: This must be called *before* PyQt4 is imported.
@@ -41,12 +48,17 @@ def prepare_pyqt4():
# Now peform the imports.
if QT_API == QT_API_PYQT:
from PyQt4 import QtCore, QtGui, QtSvg
+ if QtCore.PYQT_VERSION_STR < '4.7':
+ raise ImportError("IPython requires PyQt4 >= 4.7, found %s"%QtCore.PYQT_VERSION_STR)
# Alias PyQt-specific functions for PySide compatibility.
QtCore.Signal = QtCore.pyqtSignal
QtCore.Slot = QtCore.pyqtSlot
elif QT_API == QT_API_PYSIDE:
+ import PySide
+ if PySide.__version__ < '1.0.3':
+ raise ImportError("IPython requires PySide >= 1.0.3, found %s"%PySide.__version__)
from PySide import QtCore, QtGui, QtSvg
else:
Please sign in to comment.
Something went wrong with that request. Please try again.