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

r13663:326a2965
r18784:3b30bb89
Show More
markdown.tpl
67 lines | 1.3 KiB | application/vnd.groove-tool-template | SmartyLexer
{% extends 'display_priority.tpl' %}
{% block in_prompt %}
{% endblock in_prompt %}
{% block output_prompt %}
{%- endblock output_prompt %}
{% block input %}
{{ cell.input | indent(4)}}
{% endblock input %}
{% block pyerr %}
{{ super() }}
{% endblock pyerr %}
{% block traceback_line %}
{{ line | indent | strip_ansi }}
{% endblock traceback_line %}
{% block pyout %}
{% block data_priority scoped %}
{{ super() }}
{% endblock %}
{% endblock pyout %}
{% block stream %}
{{ output.text | indent }}
{% endblock stream %}
{% block data_svg %}
![svg]({{ output.svg_filename | path2url }})
{% endblock data_svg %}
{% block data_png %}
![png]({{ output.png_filename | path2url }})
{% endblock data_png %}
{% block data_jpg %}
![jpeg]({{ output.jpeg_filename | path2url }})
{% endblock data_jpg %}
{% block data_latex %}
{{ output.latex }}
{% endblock data_latex %}
{% block data_html scoped %}
{{ output.html }}
{% endblock data_html %}
{% block data_text scoped %}
{{ output.text | indent }}
{% endblock data_text %}
{% block markdowncell scoped %}
{{ cell.source | wrap_text(80) }}
{% endblock markdowncell %}
{% block headingcell scoped %}
{{ '#' * cell.level }} {{ cell.source | replace('\n', ' ') }}
{% endblock headingcell %}
{% block unknowncell scoped %}
unknown type {{ cell.type }}
{% endblock unknowncell %}