Qt Contributor Summit 2024 - Program

From Qt Wiki
Revision as of 09:06, 23 August 2024 by Marcus Tillmanns (talk | contribs) (Added my Talk)
Jump to navigation Jump to search

Event main page: Qt Contributor Summit 2024

Please, add your sessions/talks/presentations to the table by the end of the page.

If you have any issues while editing this page, please contact Pedro Bessa directly at pedro.bessa@qt.io


Qt Contributor Summit 2024 Program, to be updated

Thursday, September 5th

Morning: Keynote Sessions

Afternoon: Breakout rooms

Friday, September 6th

Morning: Keynote Sessions

Afternoon: Breakout rooms


Thursday, Sep 5th
Time (CEST) Room A
08:30 - 09:00 Registrations, Welcoming, Coffee
09:00 - 11:00 Keynotes
  • State of the Qt Project
  • Opportunities and Challenges after Qt 6.8
  • User perspective: developing and maintaining projects on top of Qt 6
11:00 - 12:00 Session pitching
Time (CEST) Room A Room B Room C Common area
12:00 - 13:00 Lunch
13:00 - 13:45 Whither QProperty? Qt Documentation Qt on Windows: Windows 11 Style and Recent Developments
13:45 - 14:30 std::format support in Qt What's new in QtGraphs
14:30 - 15:00 Coffee break
15:00 - 15:45 Error handling in Qt (and C++) Qt for Python
15:45 - 16:30 C++26 Reflection and Qt Qt Lottie : Where it is, where to go Qt SBOM (Software Bill of Materials)
16:30 - 17:00 Summary of Day 1
17:00 - 18:30 Unplanned time
18:30 - ... Dinner at the Event Venue
Friday, Sep 6th
Time (CEST) Room A
08:30 - 09:00 Welcome back and Coffee
09:00 - 12:00 Keynotes
  • Cyber-Security and implications on the Qt Project (SBOM and 3rd party code, account and privilege life cycle)
  • Breaking the monolith
  • API Design Principles
Time (CEST) Room A Room B Room C Common Area
12:00 - 13:00 Lunch
13:00 - 13:45 Quo Vadis, TTLOFIR? QtScrypt/QtPythonScripting
13:45 - 14:30 Deprecation vs Compatibility
14:30 - 15:00 Coffee break
15:00 - 15:45 Flaky tests QFuture/QPromise: ’sup? Future of QtLanguageServer repo / Proper CI for non-mainline repos?
15:45 - 16:30 Summary of Day 2 and Closing of Qt CS 2024


Topic Speaker Format Summary
Topic Title Add Your Name(s) Discussion/Presentation/Workshop/... Add a short paragraph about the scope of the proposed talk.
Whither QProperty? Wither, perpetuate or evolve? Fabian Kosmale Discussion session We've added bindable C++ properties in Qt 6 – and then mostly ignored them except for bug fixes. Let's recap why we've added it to begin with, collect how it's currently . Then, investigate why we (mostly) went nowhere with it and whether we we want to change that.
std::format support in Qt Ivan Solovev Discussion session We've started to provide support for formatting Qt types using std::format, but we might need some more features from the standard in order to use std::format *inside* Qt. Let's try to discuss what we need from the standard and how can we achieve that.
Qt for Python Friedemann Kleint Discussion session Discuss Qt for Python development and explore ways to enhance its interoperability with other Qt products through feedback, ideas, and constructive criticism.
QtScrypt/QtPythonScripting Friedemann Kleint Presentation + Discussion Present a research project which has been under way providing a more light-weight way for Python bindings.
Deprecation vs Compatibility Eddy Discussion session Follow up on Peppe, Andre' and others discussing SC/BC and the impact of deprecations on users.
What's new in QtGraphs Tomi Korpipää Presentation + Discussion A look into what has changed between QtDataVisualization and QtGraphs, which will be out of TP in Qt 6.8.

A short presentation followed by a discussion of where we can / should take it next.

Quo Vadis, TTLOFIR? Marc Mutz Discussion "Things to look out for in review" (https://wiki.qt.io/Things_To_Look_Out_For_In_Reviews) started as a low-entry-barrier way to collect guidelines surrounding code^Wgit-versioned contributions, to be distributed to "official" documents as time goes by. While I believe it had a positive impact on many Qt contributors already in the present form, I still see (too) many of the issues, discussed there, in approved code, suggesting that it may be time to migrate some of the content to said "official" format (QUIP? Qt Coding Standard (no, not the whitespace formatting guideline that currently carries the name)). Also, the number of contributions to TTLOFIR from others than myself remains relatively small (with an explicit shout-out to those who did contribute!). Seeing as the number of Qt contributors only continues to grow (itself a very healthy sign), I think the project is facing a bit of "didn't know; if known, didn't read; if read; didn't understand; if understood, didn't apply" going on. So this session is both to spread awareness, as well as discuss how the process to migrate TTLOFIR items to a more "official" format could look like.
Future of QtLanguageServer repo / Proper CI for non-mainline repos? QML Team Discussion The Qt Language Server repository contains an implementation of JSON RPC and skeleton functionality to implement a language server. It is a non-essential module, which led to https://bugreports.qt.io/browse/QTBUG-115252 , causing it's main user qmlls to not work. While this issue has been resolved, we should ponder a few questions:
  • Do we really need a proper Qt module for it?
  • Should JSON RPC move to QtBase?
  • Would anything besides qmlls benefit from having generic language server support?
  • Can we have "non-mainline" repos which still get the full gerrit+CI workflow (the main reason Qt Language Server became an official module)?
Error handling in Qt (and C++) Volker Hilsheimer Discussion We have several ways of handling errors in Qt: fail with runtime warning, return false with errorString() getter, or emit errorOccurred() signals - often combinations of those.

We don't throw exceptions, and we rarely return std::optional. C++23 has introduced std::expected as the vocabulary type for error handling, but we likely won't be able to require C++23 for several more years. Various alternatives that are (or have been) discussed in the C++ committee (such as throwing value-type exceptions) are decades out, if they ever get anywhere at all. However, we have had several attempts to implement something along the lines of std::expected, esp in cases where we needed better tools to handle errors from system API calls:

As pointed out in [1], C++17 compatible implementations of std::expected exist. Should we allow ourselves to use one of them internally? Can we have something that we can use in our own public API (e.g. for QJniObject)?

Qt Documentation Nicholas Bennett Presentation and Discussion
  • Qt Documentation State of the Union
    • How do I contribute?
    • Where do I find the documentation I need?
    • How do I give feedback?
  • Qdoc
    • The recommended way to use this today is via CMake.
    • libclang version
    • New features
    • Future features
    • Look at its great docs!
    • How to make suggestions.
C++26 Reflection and Qt Thiago Macieira Discussion C++26 will come with the first release of reflection. It's probably not enough for Qt's needs to replace moc, but we should know what is missing so we can recommend to the committee our use-cases. We also need to know if there are any design issues that would make the replacement completely impossible.
Qt Lottie : Where it is, where to go Kwanghyo Park Presentation and Discussion A brief introduction of the Qt Lottie module and presents the current status.

Following up with a suggestions and discussions on how it could be improved and updated.

Flaky tests Eddy Discussion We currently blacklist flaky tests, which means real failures they might have brought to our attention can get ignored. This should be a temporary state, but some have been blacklisted for many years. Each should be associated with a Jira ticket that won't be closed until the test is fixed and blacklisting removed; it's not clear that's always followed, though. How can we improve on this situation ? See also: QTQAINFRA-6400 and QTBUG-96295.
QFuture/QPromise: ’sup? Kai Uwe Broulik Discussion QFuture capabilities have been much expanded in Qt 6, yet it’s not seeing much use within Qt itself.

In the scope of Qt OPC UA, which is inherently asynchronous, we’re investigating the use of QFuture/QPromise to make the APIs more convenient.

This discussion session is about setting standards for QFuture/QPromise-based APIs throughout Qt to ensure consistent naming and error handling before their use within Qt expands further.

Qt on Windows: Windows 11 Style and Recent Developments Wladimir Leuschner Presentation + Discussion The native look of UI elements have changed their appearance starting with Windows 11. Since Qt 6.7 the UI changes were incoorperated into QtWidgets with a new QWindows11Style. This presentation will give a brief introduction into the style and about recent developments with a glimpse on what comes next for Qt on Windows.
Qt SBOM (Software Bill of Materials) Alexandru Croitor Presentation Incoming EU legislation is influencing companies to provide a Software Bill of Materials for their products. Qt will start offering one starting with Qt 6.8. This will be a short presentation about what an SBOM is, and what Qt maintainers will have to be aware of to ensure it is up-to-date.
Compile once. Run everywhere Cristian Adam Presentation + Discussion Deploying of C++ applications on Windows, Linux, macOS for x86_64 and arm64 can be challenging. By using Cosmopolitan Libc we could have an alternative.
Qt Creator meets Lua Marcus Tillmanns Presentation Writing Extensions for Qt Creator gets more convenient using Lua scripting.