“Hybrid Qt Development: boosting your projects with Python”

  by Dr. Cristián Maureira-Fredes

Abstract

Qt has been under development for many years, and it has been evolving with the community and the development of C++. On the other hand, Python has been around almost the same number of years that Qt, and managed to pass from a just-for-fun into a professional programming language.

Due to the increase in popularity of topics related to Data Analysis and Data Science, Python has been playing the main role in the development of many solutions on those topics, but more importantly, most of the performant modules and techniques rely on low-level programming languages like Fortran, C, and C++, from which one can extend Python to our own requirements.

The question is, how can we take advantage of that, bringing the functionalities, modules, and even ideas to Qt?

If you are thinking of Python Bindings, that’s not enough. Exposing Qt API to Python serves the purpose of enabling Python developers to interact with components most Qt developers have been familiar with for already a long time, but what about Qt/C++ developers?

In this talk we will go through the different approaches on how Python can boost your project, combining both the languages under the Qt framework, extending Python, and embedding Python in your C++ application, and code. Additionally, we will go through a couple of ongoing features on the Qt for Python project, which adds new functionality on top of the Qt API we all know.

With a basic knowledge of Python, you will take home a couple of clear ideas on how to combine the simplicity of Python into your C++ based applications; how to contribute to the Qt for Python project, and even improve the Python ecosystem.

About the speaker

Currently working at The Qt Company as an R&D Manager for the Qt Core (Foundations) and Qt for Python projects.

The rest of my time, I’m one of the main Software Engineers of the Qt for Python project, focusing my work mainly on PySide.

You can find more about myself on my personal site.