Software Development

Moving to Qt 5.15

Back in March 2020, when work on the Scrite project started we could either use Qt 5.12 LTS or anything up to Qt 5.14. Prashanth chose to use Qt 5.13.2 since he was already using it for another project. Since then, even until 0.8.1 we have been building Scrite using this version.

Now that Qt 6.2 LTS is also out, we think it is time to make preparations upgrade Qt version used for building Scrite. The first step in this process is to update to Qt 5.15.7 LTS, which is the latest version of Qt in the 5.15 series. Once we stabilize there, it would then be time to update to Qt 6.2 LTS.

Qt 5.15 LTS brings plenty of optimizations and code-cleanliness. Gone are the days when we had to register QML types using qmlRegisterType<>() calls, its now time to use QML_ELEMENT, QML_NAMED_ELEMENT, QML_SINGLETON and so on. The QML syntax is neater in Qt 5.15.

Although this was possible since Qt 5.10, now that we are moving to Qt 5.15, we think its time to make use of PDF rendering in QML. This means we should be able to offer preview of all documents exported to PDF. Until version 0.8.1, users were only allowed to generate preview of Screenplay PDF, but in the next update users will be able to preview all PDF output including reports.

Porting to Qt 5.15.7 has already started.

We expect that it will take another month or so before we are able to release the next public betas.

On GitHub there is now a separate branch for tracking progress of this port. If you are interested, please feel free to clone a copy, track progress and contribute.