##// END OF EJS Templates
Backport PR #5458: Add support for PyQt5....
Backport PR #5458: Add support for PyQt5. This PR adds the new `QT_API_PYQT5` to `IPython/external/qt_loaders.py ` and allows to embed the IPython console in Qt5 Applications. In case of PyQt5, the loader returns a union of `PyQt5.QtGui` and `PyQt5.QtWidgets` acting as a Qt4-QtGui compatibility module. One small fix to `InProcessChannel.__init__` was necessary though. For some reason, when constructing `QtInProcessShellChannel`, the `QtCore.QObject.__init__` initializer from `SuperQObject` indirectly calls the `InProcessChannel.__init__` function, which doesn't have a default constructor and thus fails. I assume this has something to do with the metaclass/multiple inheritance approach IPython uses on QObject. Adding a default value for `client` in `InProcessChannel.__init__` solved the problem for me.

File last commit:

r4892:0707dc54
r18784:3b30bb89
Show More
test_refs.py
46 lines | 872 B | text/x-python | PythonLexer
"""Some simple tests for the plugin while running scripts.
"""
# Module imports
# Std lib
import inspect
# Our own
#-----------------------------------------------------------------------------
# Testing functions
def test_trivial():
"""A trivial passing test."""
pass
def doctest_run():
"""Test running a trivial script.
In [13]: run simplevars.py
x is: 1
"""
def doctest_runvars():
"""Test that variables defined in scripts get loaded correcly via %run.
In [13]: run simplevars.py
x is: 1
In [14]: x
Out[14]: 1
"""
def doctest_ivars():
"""Test that variables defined interactively are picked up.
In [5]: zz=1
In [6]: zz
Out[6]: 1
"""
def doctest_refs():
"""DocTest reference holding issues when running scripts.
In [32]: run show_refs.py
c referrers: [<... 'dict'>]
"""