Permalink
Browse files

version check Qt bindings in external.qt

require PySide >= 1.0.3 or PyQt4 >= 4.7

closes gh-724
  • Loading branch information...
1 parent 7070308 commit be3e7ed4d42bce5e820156020ee19e646787d70c @minrk minrk committed Aug 24, 2011
Showing with 13 additions and 1 deletion.
  1. +13 −1 IPython/external/qt.py
View
@@ -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')
@takluyver

takluyver May 19, 2012

Owner

@rajeeja: Hi, welcome to IPython. The best thing for this sort of problem is to join the ipython-user mailing list and ask for help there - that way more people will see your question. http://mail.scipy.org/mailman/listinfo/ipython-user

@rajeeja

rajeeja via email May 19, 2012

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:

0 comments on commit be3e7ed

Please sign in to comment.