Akademy 2024: Qt Highlights!

akademy2024-groupphoto_crop_1500

(photo credit: KDE)

Hey Qt!

Following our Qt Contributor Summit, the end of summer was also blessed by yet another Akademy, the annual community conference organized by KDE.
At Akademy, you can find community members, software engineers, designers, free software and open source enthusiasts, as well as many Qt-talented developers.
This year, we met in Würzburg, Germany.


 Qt and the KDE Community

As representatives of Qt Group and the Qt Project, we recognize the strong and enduring relationship between Qt and the KDE community. KDE, one of the most influential FOSS communities, has developed its softwares using the Qt framework, benefiting from its flexibility, performance, and cross-platform capabilities.

By taking part in Akademy, Qt Group enhances its collaboration with the KDE community, promotes innovation in the open-source space, and ensures that the framework adapts to the community's evolving needs. Additionally, we have the face-to-face opportunity to exchange insights, collect feedback, and co-plan the future of open-source technologies that benefit both KDE and the broader Qt ecosystem.

Summary of Qt Talks/Sessions:

Members of the Qt company had the chance to present several topics, introducing Qt for Python and the QML language server, showcasing what has changed in QML and summarizing upcoming changes to Qt after 6.8.

Another well-attended talk gave an overview on how to mix Qt, KDE and Rust, highlighting that Rust is already used in a few places inside KDE (while at the same time cautioning against rewriting everything in Rust).

After two days of keynotes and talks, a variety of BoF sessions took place on the following days. From a Qt perspective, the tutorial on combining Lager with QML by tuosa and Dmitry was especially interesting (https://invent.kde.org/tusooaw/lager-qt-demo).
Another topic that was broached was one of KDE’s new goals, “We care about your input!”  This will surely also affect Qt, not only because they are investigating using Qt Virtual Keyboard as an option besides Maliit, but also because better support for IMEs (input methods) and the upcoming work on Linux accessibly will likely require adjustments in Qt itself.

Another continuation from the talks was the discussion on renewing KDEs design. The discussion ranged from ways of forming consensus in KDE’s VDG (visual design group) to a more in-depth introduction to the inner workings of Union.

The talk about Union was particularly relevant because like in Qt, KDE has also faced the problem of having to implement and maintain the same styles in two different ways for QWidgets (using QStyle) and for QtQuick Controls. In the past, they experimented with using QStyle and pixmaps to apply the widget style in QtQuick, but this approach has limitations and fails to leverage the benefits that QtQuick provides. That is why they came up with their own styling engine, Union, which can be used for both QtQuick and widgets. Union provides an abstraction layer which is supposed to take in different input formats or plugins and produces an output which main goal is to provide style rules that can be consumed by both QtQuick and QStyle. A current input format they are experimenting with is CSS. Some issues mentioned with this approach were the lack of CSS stand-alone third-party parsers and the one that Qt offers is private. Their current implementation relies on input plugins that supply style definitions, which are then loaded and parsed to generate style rules. The style definitions are mappings which contain selectors, style properties, and cascading properties which define which style rules apply to a certain element.

As for design-related topics Andy Betts had a talk about implementing a new visual design for Plasma. They have worked on a design system for speeding up development and ensuring a consistent look and feel, colors, fonts, grids and spacing as well as new components. They are also currently looking at the designer to developer workflow and how to cooperate better. This project is open for collaboration from the developers and designers in the community.


We are incredibly grateful to have been part of Akademy and we are proud to be sponsors and a KDE Patron!
See you next year! :) 


Interesting Links:


Blog Topics:

Comments