About the course
Ready to take your Python development to the desktop? Our GUI Development with PyQt & PySide training course equips you with the practical skills to build powerful and user-friendly desktop applications that work across platforms.
Designed specifically for Python developers, this course dives into the Qt framework using both PyQt and PySide.
Through engaging, hands-on exercises and real-world scenarios, you'll gain a solid understanding of widgets, layouts, signals and slots, event handling, and data handling – the core building blocks of modern GUIs.
By the course's conclusion, you'll be confident in your ability to design, develop, and deploy your own cross-platform Python desktop applications.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand GUI development fundamentals with Qt.
- Learn to set up PyQt/PySide projects and use essential tools.
- Master Qt widgets and layout managers for responsive UIs.
- Implement interactive GUIs with actions, signals, and slots.
- Design UIs rapidly with Qt Designer and custom widgets.
- Enhance apps with features like system tray and searchable dashboards.
- Manage data in GUIs using MVC and database connections.
- Integrate graphics and plotting with PyQtGraph and Matplotlib.
- Create custom and animated GUI widgets.
- Apply best practices for robust PyQt/PySide applications.
-
Python developers looking to build professional desktop applications.
Software engineers wanting to create cross-platform graphical user interfaces for their tools and products.
Data scientists and analysts needing to develop desktop applications for data visualisation and analysis.
Teams looking to build internal tools and applications with a Python-based GUI.
Individuals aiming to expand their Python development skills into enterprise desktop solutions.
-
Delegates will benefit most from this course if they have:
A solid understanding of the Python programming language, including basic syntax and concepts.
Some familiarity with object-oriented programming (OOP) principles will be helpful.
While no prior experience with GUI development or the Qt framework is necessary, a general understanding of software development concepts would be advantageous.
We're happy to discuss your team's background and can tailor the course if needed, so please don't hesitate to reach out with any questions.
-
This PyQt course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Getting started with PyQt
Your first PyQt application
Defining toolbars, menus and keyboard shortcuts with QAction
Using Qt's library of built-in widgets to build your applications
Layout management & choosing the right responsive layout manager
QVBoxLayout (vertical)
QHBoxLayout (horizontal)
QGridLayout (grid)
Dialogs and alerts
PyQt5 and PyQt6 differences (e.g. syntax adjustments for imports)
Creating applications with Qt Designer
Using Qt Designer's drag and drop interface to design your GUI
Laying Out Your GUIs With Qt Designer
Embedding custom widgets from Qt Designer
Creating Dialogs With Qt Designer
Extended UI features
System tray and mac menu bar
Adding scrollable regions using QScrollAeea
Creating searchable widget dashboards
Transmitting extra data with Qt Signals
Creating additional windows
Example Application
Build an example application with Python, PyQt, PySide & MySQL/PostgreSQL and add the ability to produce Excel reports. This a consolidation task in which you will do the following:
Design a GUI with QtDesigner
Style the GUI with stylesheets
advanced styling and theming considerations
Design a database using MySQL workbench
Connecting to MySQL database with Python
inserting , selecting , updating , deleting database data from the application.
Adding new members
Updating member data
Generate reports to csv or excel
ModelViews and Databases
The MVC Architecture
Connecting to MySQL
Connecting to PostgreSQL
Asynchronous operations
Using an ORM
Displaying tabular data in Qt model views
Graphics and Plotting
Plotting with PyQTGraph
Plotting with Matplotlib
Custom Widgets
QPainter and Bitmap Graphics
Creating custom GUI widgets
Animating custom widgets
Best Practices
Error Handling
Logging
-
Official PyQt/Qt for Python Documentation: - Qt for Python Documentation (PySide6): https://doc.qt.io/qtforpython-6/
Trusted by