Latest articles

Latest updates from across the Python GUIs site. New tutorials, tips & updates added each month.
Showing articles for All (25) PyQt6 (4) PySide6 (5) PyQt5 (19) Tkinter (7) PySide2 (6)

Creating custom GUI widgets in PyQt5

Build a completely functional custom widget from scratch using QPainter

QPainter and Bitmap Graphics

Introduction to the core features of QPainter

The ModelView Architecture

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

MacOS Mojave Dark Mode Support in PyQt 5.12.2

Ensuring your apps follow the desktop style

PyQt5 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

PyQt5 Dialogs and Alerts

Notify your users and ask for their input

PyQt5 Layouts

Use layouts to effortlessly position widgets within the window

PyQt5 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

Creating your first app with PyQt5

A simple Hello World! application with Python and Qt5

Install PyQt5 on Windows

Install PyQt5 on Windows 8, 10 & 11

Install PySide2 on Windows

Install PySide2 on Windows 8, 10 & 11

Install Python on Windows

Install Python on Windows 8, 10 & 11

Install Tkinter on Windows

Install Tkinter on Windows 8, 10 & 11

Install PyQt5 on Ubuntu Linux

Install PyQt5 on Ubuntu and other Debian-based Linux distributions

Install PyQt5 on macOS

Install PyQt5 on macOS

Install PyQt5 on Raspberry Pi

Install PyQt5 on Raspberry Pi Raspbian

Install PySide2 on macOS

Install PySide2 on macOS

Install PySide6 on macOS

Install PySide6 on macOS

Install Tkinter on Ubuntu Linux

Install Tkinter on Ubuntu and other Debian-based Linux distributions

Install Tkinter on macOS

Install Tkinter on macOS

PyQt5 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 PyQt5 GUI

NSAViewer, desktop Photobooth

Take photos of yourself, with a terrible camera.

Raindar, desktop Weather App

Pulling data from a remote API

7Pez, custom skinned Unzip

Skinning a PyQt5 decorationless window
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17