Update: Qt on Android Episode 2 is available here Update2: Here you can read also the Chinese version, thanks goes to Foruok. I’d like to start a new series of blog posts focused on Qt on Android. The first article is about how it began, how it works, the current status, what to expect from […]
KDAB Blogs Get the RSS Feed
Stay up-to-date and get inspiration from KDAB’s expert insights into Qt, C++ and OpenGL development.
Our engineers and designers share cutting-edge technology news and ideas with regard to Qt, QML, Qt on Android, OpenGL, Qt 3D, Vulkan, Scalable UIs and more embedded, mobile and desktop-related topics.
KDAB contributions to Qt 5.1
The release of Qt 5.0 brought to an end the first opportunity in 7 years to break source and binary compatibility for a Qt release. It was a huge effort from across all disciplines and contributions, from design discussions, documentation and development to infrastructure, administration, marketing, testing and packaging. KDAB made significant contributions to the […]
KDAB at QtCS and Akademy
Starting next weekend, one of the most significant events on the Qt development and contribution calendar is taking place in Bilbao, Spain. The co-located and parallel-running Qt Contributor Summit and Akademy promise to push plans for Qt forward during the coming year. As an unconference, the format of the Qt Contributor Summit is designed to […]
QML Engine Internals, Part 4: Custom Parsers
This blog post is part of an ongoing series about the internals of the QML engine. In today’s post, we’ll examine the concept of custom parsers in QML. Recap In the first blog post of the series, we covered how the QML engine loads QML files. One important concept was that every element in the […]
Using QAbstractItemModel with Cascades on BB10
With QML as abstraction layer, we nowadays have a great way to separate the business logic (C++) of our application from the graphical user interface (QtQuick/QtWidgets/Cascades) on top of it. The interface between the two layers is well defined by the meta-object API, which essentially boils down to signals and slots for notifications and invocations, […]
OpenGL in Qt 5.1 – Part 5
This article concludes our series on what is new in Qt 5.1 with respect to OpenGL. Earlier articles in this series are available at: Part 1 Part 2 Part 3 Part 4 More shader stages In Qt 5.0 the QOpenGLShader and QOpenGLShaderProgram classes only had support for Vertex and Fragment shaders. Qt 5.1 will include […]
How to use helgrind to debug multithreaded Qt applications Finding thread race conditions in Qt applications
(NOTE: this blog post has been edited many times since its original publication) You’ve heard of valgrind before, its default tool (memcheck) is such a life saver, being able to detect memory-related bugs in your code (leaks, double deletions, use of deleted memory, use of uninitialized memory, etc.). Well, it turns out that valgrind also […]
OpenGL in Qt 5.1 – Part 4
This article continues our series on what is new in Qt 5.1 with respect to OpenGL. Earlier articles in this series are available at: Part 1 Part 2 Part 3 OpenGL Debug Output The traditional way to debug OpenGL is to call glGetError() after every GL function call. This is tedious, clutters up our code, […]
OpenGL in Qt 5.1 – Part 3
This article continues our series on what is new in Qt 5.1 with respect to OpenGL. If you haven’t already seen them, you may be interested in reading Part 1 and Part 2. Timer Queries OpenGL on the desktop exposes a very useful tool in the shape of timer query objects. These can be used […]
OpenGL in Qt 5.1 – Part 2
Qt has QOpenGLBuffer to manage OpenGL buffer objects like per-vertex attribute data and element index buffers. OpenGL also has a container type call Vertex Array Objects managing vertex buffer objects.