Login Linkedin Twitter Facebook
Logo
  • About Us
    • Our Story begins…
    • Careers
    • Contact
    • Privacy Policy
  • Professional services
    • QT Expert Help
    • Windows & Mac Applications
    • Linux Applications
  • Customer Stories
  • Blog
  • News

The Viking Blog

Get inspiration from Viking Software's expert insight into Qt and C++

  • All Categories
  • Android
  • C++
  • CMake
  • Debugging
  • JSON
  • Layouts
  • Locale
  • QML
  • Qt
  • Qt Script
  • Qt Tricks
  • Scripting
  • Widgets
  • Windows

Docker image for Qt Android builds

Posted in Android, QML, Qt

We show you how to create a docker image for Qt on android, how to build it in gitlab, and how to use it.

Using clang-format with QtCreator

Posted in C++, Qt

A good QML file

Posted in QML, Qt

Getting the most of signal/slot connections

Posted in Qt

Signals and slots were one of the distinguishing features that made Qt an exciting and innovative tool back in time. But sometimes you can teach new tricks to an old dog, and QObjects gained a new way to connect between signals and slots in Qt5, plus some extra features to connect to other functions which are not slots. Let’s review how to get the most of that feature. This assumes you are already moderately familiar with signals and slots.

Creating Custom Widgets

Posted in C++, Qt, 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.

QtQuick Custom Item Performance

Posted in QML, Qt

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.

Keyboard navigation and the event system

Posted in Qt

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.

How to use QThread properly

Posted in Qt

There are basically two different ways of using QThread directly: Worker threads or subclassing. Those two are confusing to a lot of developers, and I will try to explain when you should use those. I will also explain how signals and slots work with threads and how they can help you or lead to problems.

Serializing/deserializing a QObject tree

Posted in JSON, Qt

A while ago I wanted to implement save and load for an application. The application model was a QObject derived class, with a bunch of sub (-sub) classes. As the UI was QML, everything was accessible through properties. Instead of writing a save and load mechanism for every single class, I was able to write one generic save load mechanism. This can be done using QObject introspection/reflection. So the class name, properties and member functions can be queried.

Xml/Json Comparison

Posted in C++, JSON, Qt

Recently I needed to implement a client application that would fetch data from a web service. The client had to be written in C++ using the Qt 5.4 libraries, the server was already running Apache2 with php 5.something but the …

1 2 3 Next »
  • Contact

Viking Software
Petersmindevej 2B
DK-5000 Odense C
Denmark

+45 6398 0020

  • About Us
  • Our Story
  • Careers

Copyright © 2021, Viking Software.

Recent Posts

  • Docker image for Qt Android builds
  • Using clang-format with QtCreator
  • A good QML file

Connect With Us

  • LinkedIn
  • Twitter
  • Facebook

Copyright © 2021, Viking Software.

We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Ok