Viking Software - A consulting company focusing on Qt based software.

Our Services

We specialize in Qt development because it is our belief that Qt is the best framework available for building applications. Our developers have passed all Qt certifications.

Read More About QT

Embedded Linux applications with demanding graphical user interfaces is one of our special focus areas. Our developers know how to implement your specification of the perfect UI on your Linux based device.

Read More About Linux Apps

Desktop Windows and Mac applications are as important as ever. We can implement full applications, from idea to a working installer. Or we can help your team develop parts of the application.

Read More About Windows & Mac Apps

Case Studies


A product for cutting out parts of pictures. It can run as a standalone application or as a Photoshop plugin.

Read More


Swiss based Poken wanted an application for several phones. The tasks involved graphics and styling code, client server communication through an XML RPC system.

Read More

Featured Articles


Creating Custom Widgets

Creating custom widget is not a hard problem, but there are a few things you should consider. This is meant as a check-list you can go to, when you create a new widget. Just run through the list and you are well on your way to creating a good widget that will serve you well in many different circumstances.

Read More

QtQuick Custom Item Performance

One can read here and there that OpenGL is the fastest. QQuickPaintedItem is slow. And Canvas is really slow. But I couldn’t find any information on how fast or slow each solution is. So I decided to do a quick comparison, to get an idea of their performances. So I did a quick and simple rendering of many rectangles using each technology. And measured the frames per second.

Read More

Keyboard navigation and the event system

Keyboard navigation in a GUI application might not be the most highlighted feature. Most devices use clickable or touchable controls in the user interface to change screens, open menus or activate buttons. Many developers don’t even bother looking at the problem because the customers might not ask for it. But if said application is intended for a device that doesn’t have other kind of input, or you have to satisfy some accessibility requirements, it’s definitely something that will end up being the feature that blocks a release if it has some known bug. First we will cover some interesting details of Qt’s event system, and then we will move to the details that you should know for providing your UI with a good keyboard navigation system.

Read More