Martin Fitzpatrick
Senior Software Engineer, Python Tutor

Martin Fitzpatrick has been developing Python/Qt apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt. Martin founded PythonGUIs to provide easy to follow GUI programming tutorials to the Python community. He has written a number of popular Python books on the subject.

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

Constantly Print Subprocess Output While Process is Running

How to stream live output from a subprocess into your PyQt6 GUI without freezing the interface

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

Multithreading PyQt6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

First Steps With Qt Designer and PyQt6

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

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

Adding QComboBox to a QTableView and getting/setting values after creation

Use QItemDelegate to embed combo boxes in your table views, with per-row data and value tracking

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
Showing articles for All (23) PyQt6 (16) PySide6 (0) PyQt5 (4) Streamlit (0) Tkinter (0) PySide2 (0) Kivy (0)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18