Qt for Python

The official Python bindings for Qt.


Create User Interfaces with Qt for Python

Qt for Python is the project that provides the official set of Python bindings (PySide2) that will supercharge your Python applications. While the Qt APIs are world renowned, there are more reasons why you should consider Qt for Python. The first official release of the PySide2 module is available now!

Power and Simplicity for Python developers!

Diving into the world of Qt applications is easy, whether you're a programming novice or an expert Python wrangler.

Documentation and Examples

The Legendary Qt Community 

Global Qt Services

Watch now

More Freedom to Python Developers!

Creating UIs should be fast, fun and easy. Jumpstart your UI development by utilizing ready-made widgets, controls, beautiful charts and data visualization and create stunning 2D/3D graphics for your Python project.

Getting Started

Pretty much everything you can do with Qt, you can now do in Python! Check out our how-to guides, tutorials, and examples to get you on the right track from day one. Here's how you can quickly deliver performant, flexible and scalable Qt applications.

Show Me the Code

Here's how easy it is to install and write your first application.



Qt for Python keeps Qt syntax to enable you to move without much trouble from C++ to Python or the other way around. Here's a quick example to show you just how simple it is!

import sys
import random
from PySide2.QtWidgets import (QApplication, QLabel, QPushButton,
                               QVBoxLayout, QWidget)
from PySide2.QtCore import Slot, Qt

class MyWidget(QWidget):
    def __init__(self):

        self.hello = ["Hallo Welt", "你好,世界", "Hei maailma",
            "Hola Mundo", "Привет мир"]

        self.button = QPushButton("Click me!")
        self.text = QLabel("Hello World")

        self.layout = QVBoxLayout()

        # Connecting the signal

    def magic(self):

if __name__ == "__main__":
    app = QApplication(sys.argv)

    widget = MyWidget()
    widget.resize(800, 600)



Get started with Tutorials

A collection of code samples and tutorials are provided to help new users get started with Qt. They cover a range of topics, from basic step-by-step tutorials to more complex guides.

How to get started with Qt for Python
How to make a QML application with Qt for Python

Docs and Examples

Here you will find all the information you need to get started and to understand all the main topics behind every Qt for Python application.

Learn more

Qt Blog

Check out the blog posts for more tips and tricks, and for a deeper dive into technical aspects and features.

Visit Qt Blog

Meet Qt for Python



This webinar will give you an overview of Qt for Python, the official Python bindings for Qt. We'll share some interesting insights into the project and a lot of what's been happening under the hood. Watch on-demand for free today.

Watch now

Join the Community!

Qt makes developers more productive and it makes programming fun. With this official tech preview, we're now sharing all the Qt goodies with the Python community. Join us and learn, share and connect!

The Mailing List

Get the latest news about the Qt for Python project and join our discussions. 

Sign up

The Wiki

Learn more about technical aspects of the project and help us grow the knowledge base.

Learn more

Bug Tracker

Track, report, and discuss bugs, and make suggestions for future improvements.

Go to bug tracker

We're on IRC!

Join the official IRC channel on FreeNode #qt-pyside to talk directly with the team.

Qt for Python Community

We're here to help.

Sometimes the required experience is challenging to come by. Drop us a line! We're here to make sure you’re on the right track from day one.

Contact us