TableView and Qt 5.12 / Qt Creator 4.8

I finally got around to doing the final merge for QmlBook this year.

I just merged the chapter on the brand new TableView. This let’s you show 2D data tables in an efficient way.

I also merged the version upgrade, so the text should now reflect what is available from Qt 5.12 and be based on menus and screens from Qt Creator 4.8.

During this update of the text, we took the decision not to upgrade all import statements to QtQuick 2.12. Instead, we use different versions in different places. However, the contents of Qt 5.12 is covered.

There are still two things left for the 5.12 branch. The first is to use the new input handlers, e.g. TapHandler instead of MouseArea. The second is to setup a release branch in the CI system so that there is a 5.12 version of the book built separately. I suspect that this will force me to learn more Travis tricks :-)

Merging QmlBook Contents

What better way to spend a lazy Christmas day than to merge some of the new chapters to the QmlBook?

Since having updated the CI system, there is a bit of manual merging forth and back to get each new piece of contents on-line. Specifically, rebase my fork’s master to upstream/master, then rebase my working branch on my master, and then pushing.

One of the newly added chapters cover Qt Quick Controls 2, which is the recommended way to create controls such as buttons, sliders, checkboxes, menues, and so on. Here we look at how you target various form factors such as desktop and mobile, but also how to maintain a common code base between the two.

The other new chapter has a look at Qt for Python from a QML perspective. This chapter goes from the very basic all the way to exposing a Qt model representing the data of an existing Python module to QML.

QmlBook gets CI/CD

Christmas is coming and a long and exciting fall is coming to and end. One of my projects during this fall has been to update the QmlBook. This was made possible by The Qt Company who generously stepped in and sponsored my work on this – thank you all!

I’ve worked away during the fall adding a whole bunch of new contents and the documentation people over at The Qt Company has joined in and helped with a language review. One frustrating aspect of the QmlBook project has unfortunately been that the CI/CD system has been broken for a very long time. This means that even the small typo fixes made over the past months has not made it beyond the source git repository.

All this changed tonight! After fighting with Travis, trying to understand why things around Sphinx Docs has broken, realizing that Travis has quirks – as has the old QmlBook deployment setup, I could finally merge pull request #221 – Implementing CI/CD (and then fiddled around with the last quirks). Big thanks to my co-author, Jürgen Bocklage-Ryannel, who reviewed and helped me through this.

To celebrate this, I took the liberty of changing the style of the page. This way, you will recognize that you are browsing the new, updated QmlBook.

There were unfortunately a few sacrifices made during this transition. We lost support for generating QtHelp (it can most likely be fixed) and we dropped support for translations during a transitional period. There is a plan for both translations and different parallel versions of the book. The idea is to tune each version of the book to a specific Qt version.

To sum things up: expect broken links. Expect missing contents. But know that the contents is up-to-date!

Now – go enjoy Christmas! God Jul på er alla!