Create GUI Applications with Python & Qt5

The hands-on guide to creating GUI applications with PySide2

Create GUI Applications with Python & Qt5

5th Edition, May 2024

Tired of piecing together incomplete and out of date examples? Looking for a book that answers real problems with well designed modern solutions? I've been teaching PySide for 8 years. I know the problems you're facing, because I've seen them before.

This book has already helped more than 10K developers make their apps a reality. Let's get your project finished!

[[ displayPrices['pri_01hf778jyaajk5vk1q6824sd44'] ]]

Buy now

Downloadable ebook (PDF, ePub) & Complete Source code

Purchasing Power Parity

To support developers in [[ country ]] I give [[ discount.discount_pc ]]% off on all books & courses. Use code [[ discount.coupon_code ]] in the checkout.
Get [[ discount.discount_pc ]]% off for the next [[ discount.duration ]] [[ discount.description ]] with the code [[ discount.coupon_code ]]

Packaging Python Applications with PyInstaller [[ displayPrices['pri_01hf77hrbf5v8z5kjtwbhmbwjz'] ]]

The handy guide to distributing your Python applications, on Windows, macOS & Linux. Includes examples for packaging PyQt6, PySide2, PySide6, PyQt5, Tkinter, PySimpleGUI, wxPython and Kivy.

Add Added
  • 750+ page ebook of hands-on PySide2 exercises
  • 280+ code examples to experiment with
  • Compatible with Python 3.4+
  • Code free to reuse in your own projects
  • Lifetime updates — last updated May 2024

Or see bundles

Over 10,000 copies sold

What People Are Saying

About the Author

Martin Fitzpatrick is a Python programmer, author and tutor. He's 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.

Table of Contents

  1. Basic PySide2 Features p6-190
    • My first Application
    • Signals & Slots
    • Widgets
    • Layouts
    • Actions, Toolbars & Menus
    • Dialogs
    • Windows
    • Events
  2. Qt Designer p191-225
    • Installing Qt Designer
    • Getting started with Qt Designer
  3. Theming p216-291
    • Styles
    • Palettes
    • Icons
    • Qt Style Sheets (QSS)
  4. Model View Architecture p292-369
    • The Model View Architecture — Model View Controller
    • A simple Model View — a Todo List
    • Tabular data in ModelViews, with numpy & pandas
    • SQL databases with Qt models
  5. Custom Widgets p370-450
    • QPainter and Bitmap Graphics
    • Creating Custom Widgets
  6. Concurrent Execution p451-564
    • Introducing Threads & Processes
    • QRunnable and the QThreadPool
    • QRunnable Examples, Progress Bars & thread Managers
    • Running external commands with QProcess
  7. Plotting p565-604
    • PyQtGraph
    • Matplotlib
  8. Further Qt5 Features p605-656
    • Timers
    • Extending Signals
    • Working with Relative Paths
    • System tray & macOS menus
    • Enums & the Qt Namespace
    • Working with command-line arguments
  9. Packaging & Distribution p657-711
    • Packaging with PyInstaller
    • Creating a Windows Installer with Installforge
    • Creating a macOS Disk Image Installer
    • Creating a Linux Package with fpm
  10. Example applications p712-759
    • Web Browser
    • Minesweeper
  11. Appendices
    • Translating C++ to Python
    • PySide2 vs. PyQt5

Look Inside

Bundles

Great GUI Book Bundle [[ displayPrices['pri_01hf72pfd4x7s46jhcjcgh0q73'] ]]

Buy now More info

Frequently Asked Questions

How will I get my purchase?

After completing your purchase you'll receive an email with a link to get your files and course. Keep it secret, keep it safe.

How do I get updates?

You'll receive an email when new content is available, although you can opt out of this if you wish.

What if I don't like it?

If you decide that it is not for you, just reply to the purchase receipt email within 30 days and I'll issue you with a refund. If you could tell me why, that would be great too but it's not necessary.

I have other questions

If you still have questions just drop me an email