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 comes with a tool to detect race conditions between threads, in multithreaded applications. […]
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.
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.
OpenGL in Qt 5.1 – Part 1
Firtst in a blog series that shows how to use OpenGL with Qt 5. We shall take a quick look at Qt’s historical support for OpenGL and then describe the first batch of new features in Qt 5.1 that enhance Qt’s OpenGL
QML Engine Internals, Part 3: Binding Types
This blog post is part of an ongoing series about the internals of the QML engine. In the last blog post, we covered how bindings in the QML engine work. In this post, we’ll examine the different kind of bindings. Some of this content is already covered by my DevDays talk QtQuick Under the Hood. […]
One DataModel to filter them all
Today I want to talk about the usage of data models in Cascades. As you might know already, Cascades provides the abstract interface bb::cascades::DataModel, which is used by bb::cascades::ListView to retrieve and display arbitrary data. Cascades also provides a couple of convenience classes that implement this DataModel interface, namely ArrayDataModel GroupDataModel QListDataModel XmlDataModel While the […]
The missing link in BB10/Cascades
Today I’d like to talk a bit about a basic concept of software design: layers. When you design your application (or framework), you should try to define layers of concerns, like storage, business logic and UI. That’s no rocket science and is taught at schools and universities for a couple for years now already. However, […]
KDAB contributions to Qt 5.0 (part 5)
Continuing the series on KDAB contributions to Qt 5.0 (part 4), this time we cover community involvement, work on the Qt installer, QPointer and QWeakPointer modernization, and various macros. Community involement KDAB has been contributing to Qt since before the launch of Open Governance. With the launch of the Qt Project, everything changed regarding how […]
KDAB contributions to Qt 5.0 (part 4)
Continuing the series on KDAB contributions to Qt 5.0 (part 1, part 2, part 3), this time we cover C++11, and various optimizations. C++11 support There have been many people and companies working on C++11 support in Qt 5. KDAB was involved in several Qt 5 features which relate to C++11. An overview of the […]