Provides an uniform layer to support PyQt4, PyQt5 and PySide with a single codebase
Python Shell
Clone or download
Pull request Compare This branch is 45 commits behind spyder-ide:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ci
conda.recipe
qtpy
.ciocheck
.coveragerc
.gitignore
AUTHORS.md
CHANGELOG.md
LICENSE.txt
MANIFEST.in
README.md
RELEASE.md
appveyor.yml
circle.yml
setup.cfg
setup.py

README.md

QtPy: Abstraction layer for PyQt5/PyQt4/PySide2/PySide

Copyright © 2009- The Spyder Development Team.

Project details

license pypi version Join the chat at https://gitter.im/spyder-ide/public OpenCollective Backers OpenCollective Sponsors

Build status

Build status CircleCI Coverage Status Scrutinizer Code Quality


Important Announcement: Spyder is unfunded!

Since mid November/2017, Anaconda, Inc has stopped funding Spyder development, after doing it for the past 18 months. Because of that, development will focus from now on maintaining Spyder 3 at a much slower pace than before.

If you want to contribute to maintain Spyder, please consider donating at

https://opencollective.com/spyder

We appreciate all the help you can provide us and can't thank you enough for supporting the work of Spyder devs and Spyder development.

If you want to know more about this, please read this page.


Description

QtPy is a small abstraction layer that lets you write applications using a single API call to either PyQt or PySide.

It provides support for PyQt5, PyQt4, PySide2 and PySide using the Qt5 layout (where the QtGui module has been split into QtGui and QtWidgets).

Basically, you write your code as if you were using PySide2 but import Qt modules from qtpy instead of PySide2 (or PyQt5)

Attribution and acknowledgements

This project is based on the pyqode.qt project and the spyderlib.qt module from the Spyder project, and also includes contributions adapted from qt-helpers, developed as part of the glue project.

Unlike pyqode.qt this is not a namespace package, so it is not tied to a particular project or namespace.

License

This project is licensed under the MIT license.

Requirements

You need PyQt5, PyQt4, PySide2 or PySide installed in your system to make use of QtPy. If several of these packages are found, PyQt5 is used by default unless you set the QT_API environment variable.

QT_API can take the following values:

  • pyqt5 (to use PyQt5).
  • pyqt or pyqt4 (to use PyQt4).
  • pyside2 (to use PySide2)
  • pyside (to use PySide).

Installation

pip install qtpy

or

conda install qtpy

Contributing

Everyone is welcome to contribute!

Backers

Support us with a monthly donation and help us continue our activities.

Backers

Sponsors

Become a sponsor to get your logo on our README on Github.

Sponsors