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

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