Qt Desktop Days – Day 1
If you missed Qt Desktop Days, you might be wondering what you missed. No need to worry! We’re going to give you a day-by-day summary of some of the cool things that were discussed, demoed, and explained. (We’re uploading all of the videos to our YouTube channel, but we’ll provide the direct links to each talk here as well.)
Here’s what we covered on our first day.
What’s new in Qt 6 for the desktop?
Our first video is a joint presentation. We open with a welcome to Qt Desktop Days by Matthias Kalle Dalheimer, our CEO, where he explains why we chose to organize a conference around desktop development. Despite everyone’s love affair with mobile, tablets, and IoT, desktop development is far from dead. In fact, as Kalle explains, it’s where some of the most interesting development is happening.
Then we quickly move on to Giuseppe D’Angelo who gives us a run-down on all the new and upcoming desktop-relevant features of Qt 6. If you want a preview of what’s coming up – what will impact your existing applications and what sorts of improvements we can look forward to – you won’t want to miss this one. Peppe lays out why the team decided to move to Qt 6 – the design goals and high-level features (like C++ property bindings), as well as the foundational updates, including the move to C++17, CMake, and Qt’s own 3D abstraction layer.
If you’ve been worried about the longevity of Qt Widgets, Peppe will put you at ease; he explains why widgets have been frozen but also what updates are coming – some that we’ve been waiting on for years! And Qt Quick is getting a facelift too … no more Javascript?
Layouts with Qt
If layout engines have been the bane of your existence, you will want to see the talk delivered by our Franck Arrecot that was jointly developed with Philippe Hermite from Adobe. There is no single way to build a layout, and Franck describes the advantages and disadvantages of the QLayout, QVBoxLayout, QGridLayout, QStackedLayout, and more. He shows us an example that’s simple to explain but complex enough to test various designs and code maintenance impacts. Franck delves into layout classes to explore dynamic sizing challenges, maintaining proper alignment without jumping rectangles, and constructing table headers on scrollable grids.
For those of you who have lots of data to display, Franck also does some benchmarks that show when it might make sense to switch from widget-based tables to those with manually drawn cells like QListView, QTreeView, or QTableView.
Building a desktop UI with QML
The last presentation on day 1 of Qt Desktop Days – but certainly not the least – was from Prashanth N. Udupa, who explains the insights he learned developing the SCRITE desktop application with a QML UI. SCRITE is a screenwriting editor that really uses the power of QML and Qt together to build a full-featured and complex tool. With very clear, visually intriguing, and in-depth examples from SCRITE’s source, Prashanth shows us how pervasive model-view thinking needs to be within your application, how to use the meta object system to your advantage, how to emulate Qt classes within QML, and much more.
Prashanth also explain how GammaRay helped him discover an excess of resources being used by his application, both accidentally and purposefully. He shows what he did to optimize and fine-tune his application – sometimes with elegant solutions, and sometimes with a one-line fix! You don’t always get real-life examples of technology in action, and this is a great talk that shows how QML and Qt can work well together optimally even in complex non-toy applications.
Visit the entire Qt Desktop Days playlist on our Youtube channel.