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.

The QResource System in PyQt5

Using the QResource system to package additional data with your applications

QWebEngineView change anchor behavior

How to intercept link clicks in QWebEngineView and open them in a new window or the system browser

Use mouse drag to change the width of a rectangle in PyQt6

Build a resizable rectangle widget with draggable edges, like a crop tool

Using QProcess to Run External Programs in PyQt5

Run background programs without impacting your UI

Retrieve underlying data object from QAbstractTableModel

How to get the original Python object back from a selected row in a QTableView

Fixing PyQt Redraw Issues on macOS

Solving display and rendering glitches when running PyQt applications on macOS

Size of Matplotlib's navigation toolbar (too large by default compared to the other widgets)

How to customize the size and appearance of the Matplotlib navigation toolbar in PyQt6/PySide6

Widget size and placement in the tabs of a QTabWidget

How to control widget positioning in tab layouts using addStretch

File Image Browser App with thumbnails

Build a thumbnail image browser in PyQt6 using model/view architecture

Authentication and Authorization with PyQt5 or PySide2

Secure your desktop applications with login flows, token-based auth, and role-based access control

Authentication and Authorization with PyQt6 or PySide6

Secure your desktop applications with login flows, token-based auth, and role-based access control

Using concurrent.futures with PyQt6 for Long-Running Tasks

Keep your GUI responsive while fetching data from multiple APIs using Python's concurrent.futures

Understanding Python Instance Variables in PyQt6 Classes

Why self matters when storing data in your GUI applications

How to Center Icons in a QListWidget

Displaying icons centered in QListWidget items using PyQt6 or PySide6

Styling PyQt/PySide Apps Installed via Pip on Linux

How to handle Qt styling and themes when distributing your Python GUI app through pip

Licensing Differences Between PyQt5 and PySide2

Understanding GPL, LGPL, and what they mean for your Python GUI projects

Licensing Differences Between PyQt6 and PySide6

Understanding GPL, LGPL, and what they mean for your Python GUI projects

Recommended way to install PyQt5 with fbs on macOS

Getting the right combination of Python, PyQt5, and PyInstaller for fbs on macOS

PyInstaller macOS issue with QCombobox not refreshing

Fixing widget redraw problems in PyQt5 apps packaged with PyInstaller on macOS

Solving Common PyInstaller Problems on macOS

How to fix file paths, reduce bundle sizes, and handle macOS-specific packaging issues

Optimizing paintEvent Performance in PyQt6 Custom Widgets

Avoid common pitfalls that cause high CPU usage when painting custom widgets

Can You Use Qt Creator Community Edition at Work?

Understanding the licensing rules for Qt Designer, PyQt and PySide in commercial and in-house settings
Showing articles for All (25) PyQt6 (6) PySide6 (0) PyQt5 (6) 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