Elevator Pitch
I have learned many things about creating QtQuick applications with Python working on a graphical programming environment for a new industrial robot. In this talk, I’m going to elaborate on my experience, including practical topics such as development workflow and testing, using real-life examples.
Description
In my talk, I will describe my experience working on a real-life project with QtQuick and Python. The project I’m talking about is a graphical programming environment for a new industrial robot, which will be released end of this year. My customer chooses Python over C++ for a couple of reasons which I will explain in my talk.
I have experience working with Qt for over a decade. Until last year, I have mostly worked with Qt C++, although I’m a passionate Python programmer for many years. Since I had many objections choosing Python over C++ when working Qt, I will express them in my talk and explain my findings in working on a real-life Python Qt project for over a year.
Besides talking about my findings working with Python and Qt, I will also elaborate on practical and relevant topics for the Python Qt programmer with real-life examples. These topics include:
- Tools, workflow and lifecycle of a Python Qt project.
- A way to structure a mixed Python and Qt QML project.
- How to do unit and GUI testing for Qt application with pytest.
- Clean coding practices for Python Qt applications.
- Debugging mixed Python and C++ applications.
In the year I intensively worked with Python and Qt, especially QtQuick, I not only encountered flowers and roses, but I also found many snares. Therefore, a part of my presentation is dedicated to informing you about them.
Attending this talk is highly recommended if you are Qt C++ developer considering to test-drive Qt Python, if you are Python developer interested in Qt or if you are just curious about the robot HMI project I use as a basis for the talk.
Feel free to check out my articles about Qt, Python, and robotics on my blog: https://machinekoder.com/
The robot UI bases on ROS and the RViz QtQuick branch.
Notes
I have more than a decade of experience working with Qt, mostly with Qt C++. I switched to Python and Qt for most of the projects, both open-source and commercial in 2018. Therefore, I know both Python and C++, and this allows me to explain the differences when working with Python and Qt compared to C++ and Qt.
Considering the difficulties I faced during development of the robot UI, for example hitting the maximum allowed registered QML components limit, the project I will use reference for the talk is probably the most complex Python and QtQuick UI application out there.
During the last year I have published a few articles about working with Python and Qt on my blog: