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

r16378:95eeca35
r18784:3b30bb89
Show More
widget_image.py
35 lines | 1.3 KiB | text/x-python | PythonLexer
Thomas Kluyver
Backport PR #5678: Fix copy & paste error in docstring of ImageWidget class
r16378 """ImageWidget class.
Jonathan Frederic
Add ImageWidget
r14449
Thomas Kluyver
Backport PR #5678: Fix copy & paste error in docstring of ImageWidget class
r16378 Represents an image in the frontend using a widget.
Jonathan Frederic
Add ImageWidget
r14449 """
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import base64
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 from .widget import DOMWidget
Jonathan Frederic
Use CUnicode for width and height in ImageWidget
r14669 from IPython.utils.traitlets import Unicode, CUnicode, Bytes
Jonathan Frederic
Add ImageWidget
r14449
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 class ImageWidget(DOMWidget):
Jonathan Frederic
s/view_name/_view_name
r14701 _view_name = Unicode('ImageView', sync=True)
Jonathan Frederic
Add ImageWidget
r14449
# Define the custom state properties to sync with the front-end
Jonathan Frederic
sync=True isntead of a keys list
r14588 format = Unicode('png', sync=True)
Jonathan Frederic
Use CUnicode for width and height in ImageWidget
r14669 width = CUnicode(sync=True)
height = CUnicode(sync=True)
Jonathan Frederic
sync=True isntead of a keys list
r14588 _b64value = Unicode(sync=True)
Jonathan Frederic
Add ImageWidget
r14449
value = Bytes()
def _value_changed(self, name, old, new):
Thomas Kluyver
Backport PR #5678: Fix copy & paste error in docstring of ImageWidget class
r16378 self._b64value = base64.b64encode(new)