After our previous post related to the vision of the next major release of Qt, we felt that a paragraph to describe the Qt for Python story was not enough to share all the features and changes we have been considering for future releases.
Exposing a huge framework such as Qt to another language is not an easy task and this was the main reason for the slow porting from the old PySide version in Qt 4 to Qt 5.
Many developers hours were spent in adapting to new Qt 5 APIs, and more importantly, the binding generator tool such that everything can be handled properly.
Now with Qt 6 things will be different, because the development of Qt for Python is progressing side-by-side to the C++ and QML stories in Qt 6. Hopefully, there will be a lot fewer surprises this time around. In fact, this effect can be seen with current 5.x releases, PySide2 is available almost at the same time as the Qt release, having in some cases a few days delays.
Since the official release in Qt 5.12.0, the downloads of Qt for Python has been increasing day-by-day, which translates on the community adopting and enjoying the project.
PyPi Downloads since the release of the first stable version 5.12.0
The first lines of code which later evolved into the first Qt release date back to the early 90s, which coincidentally are roughly the same dates for the birth of Python.
Both projects started out with the mindset, among other things, to make the developer's life easier.
The combination of both projects was always a good idea, and we have been seeing a great evolution of the Qt for Python community since the official release of PySide.
We cannot fool ourselves and not take into account the other set of Qt bindings for Python out there, PyQt.
Since the beginning of PySide, we have been trying to keep source compatibility with PyQt code. The PyQt users have also been supporting PySide, claiming that the main difference is mostly changing the import name. This makes the people behind the Qt for Python project really grateful.
Both sets of bindings are quite mature, but we want to move one step further. Indeed we have taken some deviating decisions already like not exposing QVariant and other things.
At the moment we have the following highlights for the two types of developers who use Qt for Python:
pip install pyside2call away. If after some iterations the application really needs a more performant behavior or a strongly typed language, the transition of the code to C++ will be straightforward.
Writing an example application with PySide2
Qt/C++ Application that has an embedded Python interpreter that execute the code written on the text field, being able to modify the Qt/C++ application itself.
PySide2 installation process
Creating an example "Hello World" module with Shiboken.
We have been gathering many ideas since we made the first official Qt for Python/Pyside2 release.
A couple of highlights are:
You can read about the more complete list on JIRA (PYSIDE-904), which we will love to have available in Qt 6 (we will do our best, we promise ☺).
We truly thank the Qt for Python community. Most of the features we are currently working on came from them. With that in mind, we would like to encourage you to communicate your concerns and ideas on our IRC channel #qt-pyside. We would love to hear what you think, and how we can make Qt for Python better.
Stay up to date with the latest marketing, sales and service tips and news.
Download the latest release here: www.qt.io/download.
Qt 5.12 was developed with a strong focus on quality and is a long-term-supported (LTS) release that will be supported for 3 years.
Näytä tämä julkaisu Instagramissa.
Want to build something for tomorrow, join #QtPeople today! We have loads of cool jobs you don’t want to miss! http://qt.io/careers #builtwithQt #software #developers #coding #framework #tool #tooling #C++ #QML #engineers #sales #tech #technology #UI #UX #CX #Qt #Qtdev #global #openpositions #careers #job
Henkilön Qt (@theqtcompany) jakama julkaisu