Create GUI Applications with Python & Qt — PyQt5 Edition
Want to create GUI applications with Python? Here is everything you need to go from your first window to complete apps.
In this book I'll show you how to create your own GUI applications in Python using PyQt5. Starting with a basic window on your desktop, we'll work step by step towards building professional apps you can be proud of.
I've been developing Python desktop applications for 8 years using Qt. It's a great way to create professional and portable apps with Python. But when you're starting out, it can be tricky to know where to start. In this book I've collected everything I wish I'd known when I started & the most useful things I've learnt since.
In 2021 the book was updated for Qt6. You will receive the PyQt5 edition of the book and all future updates.
— Martin Fitzpatrick
Happy Readers — Over 10,000 copies sold!
Thanks for this great PyQt5 book! You explain things so clearly.
- Michael Bowen, Python developer
As a beginner trying to learn Python and implement a GUI this book a must-have. It's an excellent book for anyone getting started with Python GUI programming. The author has been extremely responsive to questions.
- Steve Brand, Python Developer
Our team is making a security product and I needed to make a digital mock up to let the panel know how it works. Thanks to this book I got a real time plot with interactive parts up and running inside of a week.
- Dr. Andy Collins, Enterprise Developer
Fantastic book, gave a great introduction and many complex features too!
- John Weber, Software Developer
"I bought your book because I wanted a simple way to create native applications, and I was not disappointed."
- Sergey Alexander, Python developer
The detailed coverage of multithreading is something I couldn't find anywhere else, and you made it so simple.
- James Brooks, Application developer
Great book, really got me started making Python GUIs!
- Stephanie Lu, Student
Loved the book, the thing is that I don't have to memorize it. I understood it.
- Art Mushin
Good start, looking forward to updates covering interacting with databases and APIs [added in 4th Edition]
- Antony Forrester, Senior Software Engineer
Pyt5 book + Source Code
820 page ebook taking you from basic concepts through creating your first app, to more complex applications. Includes the following chapters —
- Creating your first Qt application
- Basic PyQt5 Features
- Signals & Slots
- Actions, Toolbars & Menus
- Designing apps with Qt Creator
- Getting Started with Qt Designer
- Using the Qt Resource System
- Qt Style Sheets (QSS)
- Model View Architecture
- Simple Model Views - a Todo List
- Tabular data in ModelViews, with numpy & Pandas
- Querying SQL Databases with Qt Models
- Custom Widgets
- Bitmap graphics in Qt
- Creating Custom Widgets
- Using Custom Widgets in Qt Designer
- Concurrent Execution
- Introduction to Threads & Processes
- Using the ThreadPool
- QRunnable Examples (managers, queues)
- Long-running threads
- Running external commands & Processes
- Plotting in GUI applications
- Plotting with PyQtGraph
- Plotting with matplotlib
- Further Features
- Extending Signals
- Working with Relative Paths
- System tray & macOS menus
- Enums and the Qt Namespace
- Working with Command-line arguments
- Packaging and distribution
- Packaging with PyInstaller
- Creating a Windows Installer with InstallForge
- Creating a macOS Disk Image Installer
- Creating a Linux Package with fpm
- Packaging with fbs
- Example Applications
- Mozzarella Ashbadger
- Installing PyQt5
- Translating C++ Examples to Python
- PyQt6 vs PyQt5: What's the difference?
About the Author
Martin Fitzpatrick has been developing Python/Qt apps for 10 years. Starting out 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 & PySide, he hasn't looked back since. He now creates learning materials to help others learn how to create professional-quality UIs with Python.
Includes PDF and EPub formats.
Create GUI Applications / PyQt5 5th Edition, 2022