Join Qt R&D Manager Cristián and Academy Award Winning software engineer Paul with SilhouetteFX to hear about different use cases, best practices, how to get started, and an extended session on the advanced topics such as creating hybrid Python/C++ applications with Shiboken!
We will review all the possible Qt and Python interactions starting from simple test applications with PySide, Qt and Python ecosystem interaction, until the more advance cases of creating hybrid Python/C++ applications with the help of Shiboken.
2019 Academy Award and Engineering Emmy winner, Paul Miller, principal engineer with SilhouetteFX, will show their design and development of their innovative portfolio of rotoscoping tools for the visual effects industry using Qt for Python to make the C++ application scriptable.
Partial list of notable films:
Avatar (2009): Framestore
Avengers: Age of Ultron (2015): Framestore
Avengers: Infinity War (2018): Weta
Batman vs Superman: Dawn of Justice (2016): MPC Film, Weta
Beauty and the Beast (2017): Framestore
See wikepedia for reference
Panelists:
- Nicki Schumacher, Senior Director, The Qt Company
- Cristián Maureira-Fredes, Qt R&D Manager, The Qt Company
- Paul Miller, Partner & Lead Software Engineer, SilhouetteFX
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Embracing Qt for Python
1. Embracing Qt for
Python
Nicki Schumacher, Sr. Director Key Accounts, The Qt Company
Dr. Cristián Maureira-Fredes, R&D Manager, The Qt Company
Paul Miller, Principal Engineer, Silhouette FX
July 16, 2020
2. › Dr. Cristián Maureira-Fredes,
Manager Research & Development ,The Qt
Company
› Cristián has been a Python enthusiast for more
than 10 years, and due to his academic
background he has been using it in different
topics like Image Processing, Artificial
Intelligence, Robotics, Data Science, and
Astrophysics. Currently he is a Manager of
Research & Development, Team lead for the
QtCore, QML and Qt for Python teams, and
continues as a Software Engineer at the Qt
Company working on the Qt for Python project.
Embracing Python
Dr. Cristián Maureira-Fredes
PANELIST
4. The Qt Company 2020 | @cmaureir
EmbracingEmbracing
FromFrom PrototypesPrototypes
toto ₕₕyybbᵣᵢᵣᵢdd ApplicationsApplications
Dr. Cristián Maureira-Fredes
5. The Qt Company 2020 | @cmaureir
Setup
Installation
Building from source
PySide
Widget based app (.ui, .qrc)
QML interaction
Other Python modules
Shiboken
C++ module to Python
C++/Python application
Outline 📖Outline 📖
6. The Qt Company 2020 | @cmaureir
before we start
What's the deal withWhat's the deal with PythonPython??
🤔
7. The Qt Company 2020 | @cmaureir
WebinarsWebinars && Conferences 💻Conferences 💻
Creating user interfaces with Qt for Python
Develop your first Qt for Python Application
Python and C++ interoperability with Shiboken
and many others!
doc.qt.io/qtforpython/videos.html
8. The Qt Company 2020 | @cmaureir
Documentation 📚Documentation 📚
General:
Shiboken:
Resources:
In progress
Video tutorials (Build, Contributing, etc)
Qt Creator example gallery
More tutorials and examples!
doc.qt.io/qtforpython
doc.qt.io/qtforpython/shiboken2
resources.qt.io
12. The Qt Company 2020 | @cmaureir
InstallingInstalling PySidePySide
What does that install?
pip install pyside2
▪PySide2 ✅
├── Qt modules ✅
├── pyside2-designer ✅
├── pyside2-rcc ✅
└── pyside2-uic ✅
▪Shiboken2 (module) ✅
└── shiboken2 ✅
▪Shiboken2_Generator (exe) ❌
└── shiboken2 ❌
13. The Qt Company 2020 | @cmaureir
InstallingInstalling Shiboken GeneratorShiboken Generator
the simple waythe simple way
But one needs to:
Set CLANG_INSTALL_DIR to the libclang directory
Add to PATH a Qt bin path with the same version
Add to LD_LIBRARY_PATH the Qt lib path with the same version
pip install
--index-url=http://download.qt.io/official_releases/QtForPython/
--trusted-host download.qt.io
shiboken2 pyside2 shiboken2_generator
14. The Qt Company 2020 | @cmaureir
InstallingInstalling Shiboken GeneratorShiboken Generator
the hard way?the hard way?
Set CLANG_INSTALL_DIR to the libclang directory
python setup.py install
# there are many other options!
doc.qt.io/qtforpython/gettingstarted.html
15. The Qt Company 2020 | @cmaureir
before jumping into the examples
WhichWhich IDEIDE should Ishould I useuse??
16. The Qt Company 2020 | @cmaureir
IDEs support 🖥IDEs support 🖥
17. The Qt Company 2020 | @cmaureir
Let's look at someLet's look at some codecode 💾💾https://maureira.xyz/qtvts2020/code
18. The Qt Company 2020 | @cmaureir
ResourcesResources
Technical Vision 🔭
Documentation 📚
Blogs, Webinars, Conferences, and more 🎉
qt.io/blog/2019/08/19/technical-vision-qt-python
doc.qt.io/qtforpython
resources.qt.io
19. The Qt Company 2020 | @cmaureir
What's our current state?What's our current state?
Released M2M Protocols wheels for commercial
users .
Got rid of a set of nasty bugs related to threading
🐞Catching up with Qt6 💪
20. The Qt Company 2020 | @cmaureir
What's next?What's next?
Currently in active development
Improvements to the documentation 📚
A campaign to add more examples started 🤖
Tooling to improve our lives 🔧Continue extending our commercial offering 🥳
21. The Qt Company 2020 | @cmaureir
but most importantly...
What doWhat do youyou need?need?
we are community driven.
🌟bugreports.qt.io
22. The Qt Company 2020 | @cmaureir
Q&A
💬 Let's talk!💬 Let's talk!
IRC
#qt-pyside on Freenode
Matrix
#qt-pyside:matrix.org
Telegram
Gitter
t.me/qtforpython
gitter.im/PySide/pyside2
25. Silhouette
Industry standard rotoscoping and
paint since 2005
Hundreds of feature films and
television shows
Stereo conversion of feature film
Academy Award, Emmy recipient
Highly extensible and customizable
using Python