Important
The QtSix package is no longer maintained. Users interested to the features provided by QtSix can consider to switch to QtPy.
QtSix provides a compatibility layer that allows to write Python applications that work with different Qt bindings: PyQt5, PyQt4 or PySide.
An application that used QtSix can work correctly if any of the supported Qt bindings is installed on the system. QtSix automatically detects available bindings and uses them transparently.
If more than one Qt binding is present on the system then it is selected the first one available in the following order: PyQt5, PyQt4, PySide.
Of course QtSix supports both Python 2 and Python 3.
The reference API and the reference package layout used by QtSix is the one provided by PyQt5.
An application written for PyQt5 is expected to work correctly if all imports form PyQt5 are replaced with imports from QtSix.
Applications written for PyQt4 or PySide should be ported to the PyQt5 API in order to be able to use QtSix.
Since QtSix is meant to be a compatibility layer it only provides PyQt5 features that are also present in at least one of the other Qt bindings.
QtSix can be installed using pip:
$ pip install qtsix
or using the setup.py script included in the package:
$ python setup.py install
Note
The desired Qt bindings should be installed separately. The installation of QtSix does not automatically trigger the installation of any of the supported Qt bindings.
- Home page: https://github.com/avalentino/qtsix
- Changelog: https://github.com/avalentino/qtsix/blob/master/NEWS.rst
- Issue tracker: https://github.com/avalentino/qtsix/issues
- Download: https://github.com/avalentino/qtsix/releases
- PyPi: https://pypi.python.org/pypi/qtsix
- PyQtX: https://github.com/kpj/PyQtX
- pyqode.qt: https://github.com/pyQode/pyqode.qt
- qt_backport: https://github.com/rwarren/qt_backport
- pyqt4topyqt5: https://github.com/rferrazz/pyqt4topyqt5
- q45aide: https://github.com/tallforasmurf/q45aide
- pyface: https://github.com/enthought/pyface
The QtSix package is provided under the terms of the new BSD license.