Getting Started

To develop with Qt for Python, you must install Python, Clang, and Qt for Python.

Preparing for the Installation

Before you can install Qt for Python, you must install the following software:

  • Python 3.5+ or 2.7

  • libclang 5.0+ (for Qt 5.11) or 6.0+ (for Qt 5.12)

  • Recommended: a virtual environment, such as venv or virtualenv

Installing Qt for Python

After you have installed the required software, you are ready to install the Qt for Python packages using the pip wheel. Run the following command from your command prompt to install:

pip install PySide2 # For the latest version on PyPi


pip install --index-url= pyside2 --trusted-host

Testing the Installation

Now that you have Qt for Python installed, you can test your setup by running the following Python constructs to print version information:

Creating a Simple Application

Your Qt for Python setup is ready, so try exploring it further by developing a simple application that prints “Hello World” in several languages. The following instructions will guide you through the development process:

  • Create a new file named, and add the following imports to it.

    import sys
    import random
    from PySide2 import QtCore, QtWidgets, QtGui

    The PySide2 Python module provides access to the Qt APIs as its submodule. In this case, you are importing the QtCore, QtWidgets, and QtGui submodules.

  • Define a class named MyWidget, which extends QWidget and includes a QPushButton and QLabel.

    class MyWidget(QtWidgets.QWidget):
        def __init__(self):
            self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]
            self.button = QtWidgets.QPushButton("Click me!")
            self.text = QtWidgets.QLabel("Hello World")
            self.layout = QtWidgets.QVBoxLayout()
        def magic(self):

    The MyWidget class has the magic member function that randomly chooses an item from the list hello. This function is called when you click the button.

  • Now, add a main function where you instantiate MyWidget and show it.

    if __name__ == "__main__":
        app = QtWidgets.QApplication([])
        widget = MyWidget()
        widget.resize(800, 600)

Your example is ready to be run. Try clicking the button at the bottom and see which greeting you get.