The Viking Blog

Get inspiration from Viking Software’s expert insights.

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.

Windows Qt

In this blog post I will go through the process of building a 32 bit Qt 5.4 with OpenSSL support on Windows.

Keyboard navigation

Description of Qt’s event system and the details that you should know for providing your UI with a good keyboard navigation system.