Latest articles

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

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

First Steps With Qt Designer and PyQt6

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

First Steps With Qt Designer and PySide6

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

Removing Gaps Between Custom Widgets in PyQt6 Layouts

Use size policies and size hints to control how custom-painted widgets fit together

How to Clear and Refresh ComboBox Delegate Data in QTableView

Keep your QTableView ComboBox delegates in sync when your underlying data changes

Displaying NumPy Arrays and Pandas Data in QTableView Cells

How to handle complex data like NumPy arrays and Pandas Series inside a QAbstractTableModel

How to Show Only Icons in QTableView Cells (Hide Text)

Use custom model roles to display icons without text in your PyQt5 tables

PyQt6 Book Now Available: Create GUI Applications with Python & Qt6

The hands-on guide to building desktop apps with Python and Qt6

Deploying PyQt6 Apps on macOS with py2app

How to package your PyQt6 application into a standalone macOS .app bundle

Passing Arguments to Threaded Functions in PyQt6

Understanding the difference between passing a function and calling a function when using QThreadPool and QRunnable

Sequential programming, threads, causality, and the nature of time

Why updating the GUI before a long-running task doesn't work the way you'd expect

Create Applications with QtQuick in PyQt6

Build modern applications with declarative QML

Create Applications with QtQuick in PyQt5

Build modern applications with declarative QML

Using QSettings to Save and Restore User Preferences in PyQt6

Build a settings dialog that persists user choices between application sessions

QTableView Align Currency Column Right with QStyledItemDelegate

Use Qt.TextAlignmentRole in your model's data() method to align columns in a QTableView

Drag & Drop TreeView Nodes to Reorder Items with a Custom Tree Model in PyQt5

Implement drag and drop reordering in QTreeView using a custom QAbstractItemModel

Drag & Drop TreeView Nodes to Reorder Items with a Custom Tree Model in PyQt6

Implement drag and drop reordering in QTreeView using a custom QAbstractItemModel

How to debug: QAbstractTableModel subclass does not call flags()

Understanding why flags() isn't called when using QDataWidgetMapper with standard widgets

How to Drag & Drop SVG Elements into a QGraphicsScene

Dragging and dropping SVG elements into a QGraphicsScene using QGraphicsSvgItem

Implementing "Open With" Context Menus in PyQt6

Query your Linux desktop for available applications and let users choose how to open files

Change color in QProgressBar delegate

How to dynamically change QProgressBar colors in a QTableView delegate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21