This repository holds the stubs of the PyQt5 framework. The stub files released within the PyQt5 packages have been modified to allow using them for type-checking via mypy. Improvements over the default stubs include:
- Signals are properly typed as signals and not as methods
- QFlags derived classes correctly support all combination operations
- Many methods accepting an optional None have been annotated so
- and more...
This repository can always be improved and the authors will appreciate any PRs or Issues that help making this stub-repository more reliable.
Simply install PyQt5-stubs with pip:
$ pip install PyQt5-stubs
Or clone the latest version from Github and install it via Python setuptools:
$ git clone https://github.com/python-qt-tools/PyQt5-stubs
$ python setup.py install
The modules supported by PyQt5-stubs include modules from the PyQt5 package as well as modules from the other packages released by Riverbank Computing (PyQt3D, PyQtCharts, ...). Here is the full list of packages and modules:
- package PyQt5:
- QtBluetooth
- QtCore
- QtDBus
- QtGui
- QtLocation
- QtMultimedia
- QtNetwork
- QtNfc
- QtOpenGL
- QtPositioning
- QtPrintSupport
- QtQml
- QtQuick
- QtQuickWidgets
- QtRemoteObjects
- QtSensors
- QtSerialPort
- QtSql
- QtSvg
- QtTest
- QtWebChannel
- QtWebSockets
- QtWidgets
- QtX11Extras
- QtXml
- QtXmlPatterns
- sip
- package PyQt3D:
- Qt3DAnimation
- Qt3DCore
- Qt3DExtras
- Qt3DInput
- Qt3DLogic
- Qt3DRender
- package PyQtChart:
- QtChart
- package PyQtDataVisualization:
- QtDataVisualization
- package PyQtNetworkAuth:
- QtNetworkAuth
- package PyQtPurchasing:
- QtPurchasing
- package PyQtWebEngine:
- QtWebEngine
- QtWebEngineCore
- QtWebEngineWidgets
- package PyQtWebkit:
- QtWebKit
- QtWebKitWidgets
- Stefan Lehmann
- Kyle Altendorf
- Bryce Beagle
- Florian Bruhin
- Philippe Fremy