##// 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:

r1334:049617d6
r18784:3b30bb89
Show More
test_combo.txt
36 lines | 923 B | text/plain | TextLexer
=======================
Combo testing example
=======================
This is a simple example that mixes ipython doctests::
In [1]: import code
In [2]: 2**12
Out[2]: 4096
with command-line example information that does *not* get executed::
$ mpirun -n 4 ipengine --controller-port=10000 --controller-ip=host0
and with literal examples of Python source code::
controller = dict(host='myhost',
engine_port=None, # default is 10105
control_port=None,
)
# keys are hostnames, values are the number of engine on that host
engines = dict(node1=2,
node2=2,
node3=2,
node3=2,
)
# Force failure to detect that this test is being run.
1/0
These source code examples are executed but no output is compared at all. An
error or failure is reported only if an exception is raised.
NOTE: the execution of pure python blocks is not yet working!