TL;DR: If you choose a default translation in your Qt application based on a locale name like this: then please change it to: Some of your users (me!) will be thankful that your application appears in the same language as the rest of their system. Background I’m a Polish guy working with computers, mostly on […]
QtDevelopment Get the RSS Feed
for feeds to planetqt and planetkde
Qt, range-based for loops and structured bindings Part 1
Qt has a long history. The first stable version was released before the first version of C++ was standardized and long before the different C++ compiler vendors started shipping usable implementations of the C++ standard library. Because of this, Qt often followed (and still follows) some design idioms that feel unnatural to the usual C++ […]
Getting rid of “volatile” in (some of) Qt
The upcoming version of the C++ Standard (C++2a) is proposing to deprecate certain usages of the volatile keyword, by adopting the P1152 proposal (Deprecating volatile). Despite the somewhat “flamboyant” title, the actual deprecated parts are very limited and indeed the paper limits the deprecation to somehow language/library corner cases and/or dangerous antipatterns. For instance certain […]
UiWatchDog: a keepalive monitor for the GUI thread Part of the KDToolBox series
Continuing our blog series about KDToolBox, this time we will discuss UiWatchDog, a keepalive monitor for the GUI thread. Alive? A fundamental rule when writing applications in event-driven UI frameworks such as Qt is: do not ever block the GUI thread! The GUI thread is also usually called the main thread of the application — […]
Qt 3D Synchronisation Revisited
As mentioned in the previous article in this series, Qt 3D 5.14 is bringing a number of changes aimed at improving performance. Most people familiar with Qt 3D will know that the API is designed around the construction of a scene graph, creating a hierarchy of Entities, each of them having having any number of […]
Qt 3D: One too many threads or what has changed in 5.14
Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads. In the past, we’ve been […]
QMacTouchBar has landed KDAB contributes the widget in QtMacExtras
KDAB has contributed QMacTouchBar to Qt, a widget in the QtMacExtras module, written by KDABian Christoph Schleifenbaum, which is already being used in some of KDAB’s own internal tools.
New in Qt 5.11: improvements to the model/view APIs (part 2) Automated validity checks using QAbstractItemModelTester
In the last episode of this series we discussed QAbstractItemModel::checkIndex(). QAbstractItemModel::checkIndex() is a function added in Qt 5.11 that allows developers of model classes to perform some validity checks on the QModelIndex objects passed to the model; specifically, on the indices passed to the APIs that model classes need to implement (rowCount(), columnCount(), data, setData(), […]
KDAB demos at Qt World Summit, Boston October 29th to 30th
KDAB is the main sponsor at Qt World Summit. In Boston, we’ll be co-hosting a training day on October 29th, offering both Introductory and Advanced one day training classes at a knock-down price. Find out more here. On October 30th, you can listen to two talks from KDAB experts: Creating compelling blended 2D/3D applications – a […]
KDAB at Qt Contributors' Summit June 11th and 12th, Norway
A major contributor to Qt, KDAB was glad to be a key sponsor at Qt Contributors’ Summit this June. About 80 committed developers met in Oslo to talk about the latest developments in the Qt framework, enjoying beautiful weather in Oslo, and of course, the coffee. The most important topics included the first early ideas […]