Python Bindings for Qt
Qt for Python provides the official set of Python bindings and a binding generator for bringing the benefits of cross-platform development to your Python project.
Start by installing:
$ pip install pyside6
Python Bindings for Your UI & Middleware
Your Best Option for Python
The official Python bindings make Qt's functionality accessible in Python. Mature and well-maintained, the binding generator and the official bindings allow using all of Qt’s modules in Python to build modern, cross-platform, and feature-rich applications - without needing to know C++.
Easily Build the Kind of UI You Need
Whether you need a customized, modern user interface for mobile and desktop, or a simple, traditional desktop UI, Qt Python bindings have got you covered.
Leverage Qt’s Time-Saving Middleware
The Python bindings provide easy ways to set up, for example, connectivity, hardware integration, as well as data manipulation and visualization.
Create Stunning 2D &3D Graphics
Qt allows efficient rendering of thousands of items for high-performance 3D graphics, animated scenes, and vector graphics with smooth transitions and effects.
EXPOSE C++ TO PYTHON
Your Shortcut to Cross-Platform Development
Fast, fun and easy - the Python bindings for Qt allow you to make use of Qt’s ready-made components and controls for your Python project. Exposing C++ libraries to Python lets you use high-performance code, create elaborate UIs, and avoid rewriting complex logic in Python.
You don’t need to know C++ to use Qt for Python, and you can make use of all the possible combinations between QLM, C++, and Python.
LEARN Qt FOR PYTHON
Getting Started with Python Bindings
Pretty much everything you can do with Qt Framework, you can do in Python. The official Python bindings for Qt come with two main components:
- PySide6 for using Qt6 APIs in your Python applications
- Shiboken6, a binding generator tool for exposing C++ projects to Python
Start by installing Qt for Python:
$ pip install pyside6
Easily Move between C++ and Python
Qt for Python keeps the Qt syntax, enabling you to move without much trouble from C++ to Python or the other way around. You can choose between keeping the Qt syntax or using the snake case.
Here’s what it looks like.

Example: How to Use the Python Bindings
Here’s a quick example of how to use the Python bindings for Qt to create a minimal application. You can also copy this code to use it.

Qt for Python allowed for all the operational and graphical aspects of the program to be coded in Python syntax.
See how Gamry Instruments leverages Python bindings for Qt:
Go to Their Story
GET MORE OUT OF THE PYTHON BINDINGS
Join the Community!
1M+ software developers love Qt as it makes you more productive - and programming more fun.
Join our community to exchange ideas, learn, share, and connect. Engage in the conversations, share insights, and get answers to all your questions about the Python bindings.
Oh, There’s More
The Mailing List
Get the latest news about the Python bindings for Qt and join our discussions.
The Qt for Python Wiki
Deep-dive into the technical aspects and help us grow the knowledge base.
Bug Tracker
Track, report, and discuss bugs, and make suggestions for future improvements.
Engage in IRC
Join the official IRC channel on FreeNode #qt-pyside to talk directly with the team.
Qt Blog on Python
Year of the Snake: Qt for Python 6.9 is out!
2025 is the year of the snake! 🐍 and for that we are happy to tell yo...
Qt for Python release: 6.8 is out now!
We’re very happy to announce the latest release of Qt for Python 6.8. ...
Running your Qt Design Studio projects with Python
After the adoption of Qt Design Studio, many users started to wonder a...
More on Qt Framework
Qt Framework’s comprehensive set of libraries take away your routines from middleware to UI, 2D to 3D, platform to platform.
More on Releases & Licensing
The regular Qt Framework release cycle and the flexible licensing options allow you to choose the best fit to your product’s needs.
Get the Most out of Qt
Make use of Qt’s capabilities in Python and easily build modern, cross-platform applications.