Skip to main content

PEP561 stub files for the *Qt for Python/PySide6* framework

Project description

mypy logo Continuous Integration

Mypy stubs for the PySide6 (Qt6 for Python)

Author : Philippe Fremy

This package provides improved typing stubs for Qt6 for Python/PySide6. The official stubs delivered along with PySide6 are insufficent for proper typing verification with mypy.

Notable improvements:

  • add all missing signals to the stubs (many were missing)
  • add conversion from QByteArray to bytes
  • add construction of QByteArray from length and string
  • fix QFileDialog.getOpen*() methods to accept None as parent argument
  • fix QLineEdit.setText() to accept None
  • fix QTreeWidget.setItemWidget() and QListWidget.setItemWidget() to accept None as a widget argument
  • fix QProgressDialog.setCancelButton() accepting None
  • support all QSize and QSizeF operations
  • fix QTabBar.setButtonWidget() to accept None as a widget argument
  • fix QTreeWidget.topLevelItem() returning possibly None
  • fix QTreeWidgetItem comparison with <
  • fix QMessageBox.warning, information, critical, question, about, aboutQt to accept None as parent argument
  • fix qVersion() returns string, not bytes
  • fix qDebug(), qWarning(), qCritical(), qFatal(), SIGNAL(), SLOT() to accept string, not bytes
  • fix Signal.connect(), Signal.disconnect(), QObject.connect() and QObject.disconnect() to accept str instead of bool, and to return bool on disconnect.
  • fix incorrect signature of QCoreApplication.translate()
  • improve signature of operations on QPolygon

See CHANGELOG.md for full details.

This effort was inspired by the PyQt5-stubs and PySide2-stubs project.

Please note that this work is far from complete. Don't hesitate to report problems or propose improvements.

Licensing

As a derived work from PySide6, the stubs are delivered under the LGPL v2.1 . See file LICENSE for more details.

Installation

Today, this work exists only inside the Git repository. So the installation command is:

$ pip install git+https://github.com/python-qt-tools/PySide6-stubs

As soon as a Python pip package is created, this will be reflected in the recommendations here.

Help improve the stubs

If you notice incorrect or missing typing information (mypy reports errors eventhough your code is correct), please report it here with the following steps:

  • create an issue showing your problem
  • even better, create a PR to fix the problem. See CONTRIBUTING.md for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PySide6-stubs-6.4.2.0.tar.gz (433.9 kB view hashes)

Uploaded Source

Built Distribution

PySide6_stubs-6.4.2.0-py3-none-any.whl (469.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page