Programming with Qt for Python
Open Enrollment or On-Site Available!
This class is a 5-day hands-on introduction to developing desktop applications using the official set of Python bindings: Qt for Python. Through a series of examples and labs, we will cover GUI programming, GraphicsView, Model/View and the challenges inherent to mixing the Qt API with Python. Although we will mostly use Qt for Python, the material presented also applies to those wishing to use PyQt.
Contact laurie@ics.com for more information on scheduling.
Pre-Requisites
- Working knowledge of Python
- Basic knowledge of GUI programming
- No previous Qt experience necessary
Hardware Requirements
- Python 3.5.6: https://www.python.org/downloads/release/python-356/
- PySide2 : pip install pyside2
Agenda
Short Overview of Qt
- What is Qt for Python?
- The Story of Qt for Python
- Qt Licensing and Modules
- Hello World in Qt for Python
- Object-oriented Programming in Python
Object Communication and the Event System
- About QObject
- Signal and Slots
- Event System
- The Qt Property System
- Core Classes
Widgets and Dialogs
- Designer Introduction
- Common Widgets
- Dialogs
- Layout Management
Application Creation
- Designer: Main Windows, Menus, and Actions
- Main Windows
- Settings
- Resources
Model/View
- Model/View Concept
- Showing Simple Data
- Custom Models
- Proxy Models
- Delegates
Model/View II
- Editing Item Data
- Data Widget Mapper
- Custom Tree Models
Painting and Styling
- Painting on Widgets
- Color Handling
- Painting Operations
- Styling
GraphicsView
- Using GraphicsView Classes
- Coordinate Systems and Transformations
- Creating Custom Items
Additional Topics
- Drag and Drop
- Intro to QML
- Qt Threads
- Networking