QtDD13 - Thomas Perl - Python 3 and Qt 5 with QML





Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Feb 14, 2014

Recorded at the Qt Developer Days in Berlin in 2013.
Slides available at https://devdays.kdab.com/?page_id=225

Short Abstract:

This presentation highlights the history of Python-on-Mobile development (PySide, Python 2 with Qt4), followed by a quick reality check of real-world mobile Python applications and their shortcomings, and then presents a novel approach to use Python 3 and Qt 5 with a custom language binding framework that's tailored to the Python-QML use case to create fluid, non-blocking and powerful mobile applications with Python 3 and QML using Qt 5.


Python (http://python.org/) is a popular programming language that is easy to learn and widely-used. It is used not only for server-side web development, but also for tooling, automation, testing and application development. In recent years, it has been increasingly used for mobile application development as well, first with PyGtk and more recently with PySide/PyQt and QML. In this presentation, we will first highlight how PySide/PyQt has been used historically with Python 2 and Qt 4 to create mobile applications such as gPodder, and then explain the d

ifficulties and shortcomings of this approach as it relates to ""pure"" QML applications.

In the second part, a new, custom language binding is presented that works with Python 3 (Python 2 is also supported for those who can't switch to Python 3 yet) and Qt 5 (Qt 4 is also still supported). While not API-compatible with PySide/PyQt, the focus on making the API work well for QML user interfaces that need a Python backend allows for a much smaller memory footprint (both runtime and download), quicker startup times and asynchronous request handling (so calls into Python never block the QML UI).

As an example of porting existing Python applications from PySide/QML to the new binding framework, we then analyze the port of gPodder from PySide to the new framework, and compare startup time, download size, memory footprint and UI responsiveness.

Presenter Biography:
Thomas Perl is an Austrian computer scientist and independent developer. He has been working with Python since 2005 and Qt since 2010 (before that, he's been working with Gtk+ since 2005). In recent years, Thomas has developed some cross-platform applications such as gPodder, which runs on Desktop and mobile devices, written completely in Python with a QML user interface on mobile. Thomas is a regular at Vienna's monthly Python User Group Meetup (PyUGAT) and has written tutorials and given talks about how to best use Python for development on mobile devices.


When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...