Latest articles

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

Clean up on exit — Stopping threads when closing a PyQt6 application

How to properly shut down background threads and workers when your application window is closed

Fixing Crashes When Using NumPy Arrays with QImage in Qt Threads

How to safely pass image data between threads when streaming video or updating displays

How to Check if a QLineEdit is Empty in Python

Empty strings are falsey in Python

Are there any built-in QIcons?

Using built-in icons for your apps.

Understanding QPainter Coordinates in PyQt6

How the coordinate system works for drawing on canvases in PyQt6

Creating PySide6 UI without .ui / Qt Designer

Build your entire GUI in pure Python code, no .ui files required

Adding QTabWidget to a Layout Alongside Other Widgets in PyQt6

How to combine QTabWidget with other layouts without it taking over your entire window

Handling Image Drag and Drop from Web Browsers in PyQt6

Why toLocalFile() returns an empty string and how to handle remote image drops correctly

Constantly Print Subprocess Output While Process is Running

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

Why Widgets Appear as Separate Windows

Understanding widget parenting in Qt and how to fix widgets that float outside your main window

How to Set Row Background Colors in a QTableView

Use Qt's BackgroundRole to color entire rows based on your data

Authentication and Authorization with PyQt6 or PySide6

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

Fixing Missing Icons in PyInstaller-Packaged PyQt6 Applications on Windows

Why your app icon disappears after packaging and how to fix it

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

How to Add Custom Widgets to Qt Designer

Use widget promotion to integrate your own Python widgets into Qt Designer layouts

Sorting and Filtering a QTableView with QSortFilterProxyModel

Learn how to add interactive sorting and filtering to your PyQt/PySide table views without touching your underlying data

Streamlit Buttons

Making things happen with Streamlit buttons

Actions in one thread changing data in another

How to communicate between threads and windows in PyQt6

Streamlit Widgets

An Overview of Commonly Used Widgets in Streamlit

Checkboxes in Table Views with a Custom Model

Show checkboxes for boolean values in PyQt/PySide table views

What does @pyqtSlot() do?

Is the pyqtSlot decorator even necessary?

Getting Started With Flet for GUI Development

Your First Steps With the Flet Library for Desktop and Web Python GUIs

Getting Started With NiceGUI for Web UI Development in Python

Your First Steps With the NiceGUI Library for Web UI Development

Getting Started With DearPyGui for GUI Development

Your First Steps With the DearPyGui Library for Desktop Python GUIs

Saving and Restoring Application Settings with QSettings in PyQt6

Learn how to use QSettings to remember user preferences, window sizes, and configuration options between sessions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21