Building Cross-Platform Native Desktop Applications with PyQt

02:30 PM - 03:25 PM on August 15, 2015, Room 704

Adrian Heilbut

Audience level:


Qt is a mature C++ framework for building cross-platform, native GUI applications that target Windows, Mac, Linux, mobile, and embedded platforms. PyQt (and PySide) provides python bindings for the Qt library, and allows one to quickly and easily build GUI applications in pure Python. While web-based and mobile development gets all the attention these days, there are still many use-cases for which native apps are much more suitable. Qt provides an extremely rich and well-designed set of classes to build complex user interfaces both visually (with Qt Designer) and programmatically, and PyQt makes building native apps incredibly fast and easy. This tutorial will introduce the main ideas and modules in Qt and how the bindings work, and demonstrate building an application from scratch with PyQt.


PyQt is the best way to build cross-platform, native GUI applications, combining the maturity, performance, and extensive feature set of the Qt library with the interactivity and clean syntax of Python. This tutorial will introduce Qt, discuss some of the history and tradeoffs involved in deciding how to write native apps on the desktop, and demonstrate building a PyQt application.