close
The Wayback Machine - https://web.archive.org/web/20130722144510/http://www.kdab.com:80/category/blogs

Category Archives: KDAB Blogs

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 QML file [...]

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

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. [...]

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

This article continues our series on what is new in Qt 5.1 with respect to OpenGL. The first installment can be found here. Vertex Array Objects Qt has QOpenGLBuffer (and before that QGLBuffer) to help manage various types of OpenGL buffer objects such as per-vertex attribute data and element index buffers. OpenGL also has a [...]

OpenGL in Qt 5.1 – Part 1

This blog is the first in a series that will show how to use OpenGL with Qt 5. In this article, we shall take a very quick look at Qt’s historical support for OpenGL and then go on to describe the first batch of new features coming in Qt 5.1 that will 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. In [...]