Qt is Spying on Your Types

Jędrzej Nowacki
Jędrzej Nowacki
The Qt Company
Europe Date: 
Wednesday, October 8, 2014 -
1:30pm to 2:30pm
Europe Room: 
Europe Track: 
North America Date: 
Wednesday, November 5, 2014 -
1:30pm to 2:30pm
North America Room: 
North America Track: 
North America Presentation PDF: 

Presenter Bio: 

Jędrzej Nowacki is a senior software engineer at The Qt Company. He started programing at the age of seven and have not stopped since. For the last five years he has worked with and for Qt, under different company names. His focus changed from QtWebkit and QtScript to QtCore and Enginio modules, but still he enjoys improving different parts of Qt.


Qt collects and uses interesting informations about types in your application. Each time you use macros, such as the well known Q_OBJECT, Q_ENUMS, Q_DECLARE_METATYPE or the slightly less popular Q_TYPE_INFO, certain amount of meta-type information is gathered by Qt. The information is used in many places and for different purposes:
- enabling type introspection, which allows scripting environments to use C++ types
- improving performance, especially in container classes
- simplifying debugging by giving more descriptive output
- allowing runtime type conversions

This talk will focus on how to use existing type information, how to avoid common mistakes and how to expose meta-type information in a safe and efficient manner. By correctly using the type system you will achieve noticeable performance gains in your application and ease debugging.