PyQt5 Tutorial

PyQt is a Python library for creating GUI applications using the Qt toolkit. Created by Riverbank Computing, PyQt is free software (GPL licensed) and has been in development since 1999. PyQt5 was released in 2016 and last updated in October 2021.

Start PyQt5 Tutorial

PyQt6 Tutorial

PyQt is a Python library for creating GUI applications using the Qt toolkit. Created by Riverbank Computing, PyQt is free software (GPL licensed) and has been in development since 1999. The latest version PyQt6 -- based on Qt 6 -- was released in 2021 and the library continues to be updated.

Start PyQt6 Tutorial

PySide6 Tutorial

PySide, also known as Qt for Python, is a Python library for creating GUI applications using the Qt toolkit. PySide is the official binding for Qt on Python and is now developed by The Qt Company itself.

Start PySide6 Tutorial

Tkinter Tutorial

Tkinter is a Python library for creating GUI applications using the Tk toolkit. Tkinter comes bundled with Python on both Windows and macOS. (On Linux, it may require downloading an additional package from your distribution's repo.) Tkinter is a wrapper written around the Tk GUI toolkit. Its name is an amalgamation of the words Tk and Interface.

Start Tkinter Tutorial

Showing articles for All (144) PyQt6 (39) PySide6 (38) PyQt5 (42) Tkinter (18) PySide2 (39)

Creating additional windows

Opening new windows for your application

Creating custom GUI widgets in PySide2

Build a completely functional custom widget from scratch using QPainter

Laying Out Your PySide2 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

PySide2 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

Transmitting extra data with Qt Signals

Modifying widget signals to pass contextual information to slots

PySide2 Layouts

Use layouts to effortlessly position widgets within the window

PySide2 Dialogs and Alerts

Notify your users and ask for their input

PySide2 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

PySide2 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

First steps with Qt Designer

Use Qt Designer's drag and drop interface to design your GUI

Packaging PyQt5 applications for Windows with PyInstaller & InstallForge

Turn your PyQt5 application into a distributable installer for Windows

Packaging PyQt5 applications for Linux with PyInstaller & fpm

Turn your PyQt5 application into installable Linux packages

The ModelView Architecture

Qt's MVC-like interface for displaying data in views

Displaying tabular data in Qt5 ModelViews

Create customized table views with conditional formatting, numpy and pandas data sources.

Creating searchable widget dashboards

Make dashboard UIs easier to use with widget search & text prediction

Plotting with Matplotlib

Create PyQt5 plots with the popular Python plotting library

Laying Out Your PyQt5 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Add scrollable regions with QScrollArea

Run out of space in your GUI? Add a scrollable region to your application

Using the Place Geometry Manager in Tkinter

Laying out widgets with the Place geometry manager

Plotting With PyQtGraph

Create Custom Plots in PyQt with PyQtGraph

Using the Grid Layout Manager in Tkinter

Laying out widgets with the Grid layout manager

Using the Pack Layout Manager in Tkinter

Laying out widgets with the Pack layout manager

Embedding custom widgets from Qt Designer

Learn how to use custom widgets in your PySide applications when designing with Qt Designer
1 2 3 4 5 6