Latest articles

Latest updates from across the Python GUIs site. New tutorials, tips & updates added each month.
Showing articles for All (25) PyQt6 (13) PySide6 (1) PyQt5 (5) Streamlit (0) Tkinter (0) PySide2 (2) Kivy (0)

Install PyQt6 on macOS

Step-by-step guide to installing PyQt6 on macOS for Python GUI development

Install PySide2 on Ubuntu Linux

Install PySide2 on Ubuntu and other Debian-based Linux distributions

Install PySide6 on Ubuntu Linux

Install PySide6 on Ubuntu and other Debian-based Linux distributions

Bluetooth Device Scanning with PyQt5 QtBluetooth

How to discover Bluetooth and Bluetooth Low Energy devices using PyQt5's QtBluetooth module

QWidget::setLayout: Attempting to set QLayout on a widget which already has a layout

Understanding why calling setLayout() twice causes an error, and how to structure your layouts correctly

Fixing inotify_add_watch errors when deleting files with QFileSystemModel

Why Qt's file watcher complains about deleted directories and how to handle it

PySide6 Tutorial Now Available

Complete PySide course, updated for PySide2 & PySide6

Creating your first app with PySide2

A simple Hello World! application with Python and Qt

AttributeError type object 'Qt' has no attribute 'Alignment'

Understanding enum naming changes in PyQt6.1 and how to fix alignment flags

Why selectRow After insertRow Doesn't Work in PyQt6

Understanding how to properly insert rows in a QAbstractTableModel and select them in a QTableView

Writing a PyQt5 Plugin in QGIS — Reading a ComboBox Value

How to check which item a user selected in a QComboBox and run different code depending on the choice

Raspberry Pi 4 QMediaPlayer Audio Output via Analog Jack

Getting PyQt5 QMediaPlayer audio to play through the 3.5mm headphone jack on Raspberry Pi

Navigating QSqlTableModel and QTableView in very large databases

Working with large datasets in Qt's SQL table views, handling pagination, filtering, and record navigation

Problems with antivirus software and PyInstaller

Why antivirus tools flag PyInstaller executables and what you can do about it

Monitoring a Running Background Process from a PyQt6 Application

How to connect your GUI to an external program that's already running

Display Data with Different Column Sizes in a QAbstractTableModel

How to handle jagged or uneven row lengths when displaying file data in a QTableView

Animations and Transformations With QtQuick in PyQt6

Building an animated analog clock in QML with rotations and spring animations

Animations and Transformations With QtQuick in PyQt5

Building an animated analog clock in QML with image rotations and spring animations

Waiting for Multiple Threads to Complete Before Starting Another in Qt

How to coordinate dependent background tasks using QThreadPool and signals

Avoid gray background for selected icons

Create a custom ToggleButton widget to replace QAction checkable icons without the default gray selection background

Packaging PySide6 and PyQt6 Apps with PyInstaller

Solving the missing Qt platform plugin error when building executables

Creating Grouped and Stacked Bar Charts with PyQtGraph

Build professional grouped and stacked bar charts in your PyQt6 applications using pyqtgraph's BarGraphItem

QSqlRelationalTableModel, QSortFilterProxyModel and QDataWidgetMapper

How to correctly combine relational models, proxy models, and data widget mappers in PyQt6

Managing Multiple QRunnables with a Launcher QRunnable in PyQt6

How to coordinate parallel tasks and add stop functionality using QThreadPool

Combo Box delegate disappears with QSortFilterProxyModel applied

Why your QTableView delegate vanishes when you add a proxy model, and how to fix it
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21