PySide vs PyQt for Python Desktop Apps: Which Should You Choose in 2026?
I was building a Python desktop application for a client when I hit a licensing wall. I’d been happily coding with PyQt for months, only to discover—weeks before deployment—that I owed thousands in licensing fees. The client wasn’t thrilled.
Here’s what I learned the hard way about PySide vs PyQt, and why choosing the right one upfront can save you from expensive surprises.
The Licensing Trap
Both PySide and PyQt are Python bindings for Qt—the most feature-complete GUI framework available. They have nearly identical APIs. Your code will look almost the same regardless of which you choose.
The difference? Licensing.
┌─────────────┬──────────────────┬─────────────────────────┐│ Library │ License │ Commercial Use Cost │├─────────────┼──────────────────┼─────────────────────────┤│ PySide │ LGPL v2.1 │ $0 (free) ││ PyQt │ GPL v3 │ ~$550/developer/year │└─────────────┴──────────────────┴─────────────────────────┘This single difference can cost your project thousands—or force you to open-source your entire codebase.
Understanding GPL vs LGPL
GPL (PyQt’s License)
The GPL is a “copyleft” license with teeth:
Your Application │ ▼┌──────────────────┐│ Uses PyQt (GPL) │└──────────────────┘ │ ▼┌──────────────────────────────────────┐│ Your ENTIRE app must be GPL: ││ • Release ALL source code ││ • Allow modifications ││ • Allow redistribution ││ • No proprietary restrictions │└──────────────────────────────────────┘If you use PyQt and distribute your application, you must either:
- Release your complete source code under GPL (anyone can use/modify it)
- Buy a commercial license (~$550 per developer, per year)
There’s no middle ground. This catches many developers off guard.
LGPL (PySide’s License)
LGPL is far more permissive for commercial use:
Your Application (Proprietary) │ ▼┌──────────────────┐│ Uses PySide ││ (LGPL) │└──────────────────┘ │ ▼┌──────────────────────────────────────┐│ You can: ││ • Keep your source code private ││ • Sell your application ││ • Add any license you want ││ • No fees required │└──────────────────────────────────────┘The key: you’re dynamically linking to PySide, not statically linking or modifying it. As long as users can replace the PySide library (which they can with standard Python installations), LGPL imposes no obligations on your proprietary code.
Real-World Cost Analysis
I ran the numbers for our team:
┌──────────────┬────────────────┬────────────────┐│ Option │ Year 1 │ 3-Year Total │├──────────────┼────────────────┼────────────────┤│ PySide │ $0 │ $0 ││ PyQt │ $2,750 │ $8,250 │└──────────────┴────────────────┴────────────────┘
PyQt cost = 5 developers × $550/yearFor a startup or small company, $8,250 is significant. That could be a senior developer’s salary for a month.
Feature Comparison: They’re Nearly Identical
After using both extensively, here’s what I found:
API Differences
# PySide6 importfrom PySide6.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication([])window = QMainWindow()window.setCentralWidget(QLabel("Hello PySide!"))window.show()app.exec()# PyQt6 import (nearly identical)from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication([])window = QMainWindow()window.setCentralWidget(QLabel("Hello PyQt!"))window.show()app.exec()The only difference? Import statements. Most code ports between them with a simple find-and-replace.
Performance
Identical. Both libraries are Python bindings over the same Qt C++ backend. The Python overhead is the same. I benchmarked both and found no measurable difference.
Documentation and Community
PyQt: ✗ More tutorials and StackOverflow answers (older ecosystem) ✗ More third-party examples ✓ GPL licensing complications for commercial use
PySide: ✓ Official Qt Company support ✓ Rapidly improving documentation ✓ LGPL licensing for commercial projects ✗ Slightly fewer legacy tutorialsFeature Lag
PySide occasionally lags behind C++ Qt by a few weeks to months. In practice, I’ve never encountered a situation where this mattered for typical desktop applications. Unless you’re bleeding-edge Qt features, you won’t notice.
The Decision Matrix
┌─────────────────────────────────┬──────────────────────┐│ Your Situation │ Recommendation │├─────────────────────────────────┼──────────────────────┤│ Commercial/closed-source app │ PySide6 ││ Startup with limited budget │ PySide6 ││ Enterprise with budget │ Either works ││ Open-source/GPL project │ Either works ││ Need specific PyQt tutorial │ PyQt (if GPL OK) ││ Long-term commercial product │ PySide6 │└─────────────────────────────────┴──────────────────────┘Common Mistakes I’ve Seen
-
Assuming PyQt is free for commercial use - It’s not. The GPL catches many by surprise.
-
Not understanding GPL obligations - Using GPL code in your app means your app becomes GPL. No exceptions.
-
Mixing up PyQt5 vs PyQt6 licensing - Same restrictions apply to both versions.
-
Choosing based on tutorial quantity - More tutorials doesn’t matter if the licensing breaks your business model.
-
Ignoring license costs until deployment - Discovering you owe $2,750/year per developer right before launch is painful.
Migration: Simple if Needed
If you started with PyQt and need to switch:
# 1. Install PySide6pip install PySide6
# 2. Replace imports (automated)find . -name "*.py" -exec sed -i 's/PyQt6/PySide6/g' {} \;find . -name "*.py" -exec sed -i 's/PyQt5/PySide2/g' {} \;
# 3. Handle minor API differences# Most apps require < 10 lines of manual changesMy Recommendation
For 2026 and beyond: Start with PySide6.
The licensing clarity alone makes it the right choice for most commercial projects. The Qt Company’s official support and rapidly improving documentation make it a safe long-term bet.
Only choose PyQt if:
- You’re building GPL open-source software
- Your company already has PyQt commercial licenses
- You need a specific third-party library that only works with PyQt
The hours you might save with PyQt’s larger tutorial base will cost you thousands in licensing fees later.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
- 👨💻 Reddit Python Discussion on GUI Frameworks
- 👨💻 Qt for Python Official Documentation
- 👨💻 PyQt Commercial License Pricing
- 👨💻 LGPL License Full Text
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments