The Viking Blog

Read our blog for inspiration from Viking Software’s expert insights.

When debugging XML code, you often wonder about the contents of a subtree. To view the contents of a subtree, you can use this simple function.

QML tool tips

Implementation of a simple tool tip component in QML.

Qt Widgets

Creating custom widget is not a hard problem, but there are a few things you should consider. Here I present a simple list of what you should at least consider doing


Writing a save and load mechanism can be done using QObject introspection/reflection.

Poker and Code

If none of the four standard positioners (Column, Row, Flow, Grid) work for you, you can write your own.


Sometimes you have to stop a class from emitting a signal for a while. The solution is quite standard and have been published in other blogs as well, but tend to miss one or two features.

QML Button

If we consider this the wrong approach in C++, isn’t it wrong in QML as well? This blog post will discuss best practice of building QML components.


XML or JSON? This post will describe the metrics, methodology, present the data, draw a conclusion and offer the entire codebase for download.


When you want to draw a custom item in QtQuick, then you essentially have 3 options: QQuickItem, QQuickPaintedItem or the QtQuick Canvas item.