Skip to Main Content
Lightning Talk Intermediate CC BY-SA 4.0

Object Introspection in Qt: From QMetaObject to Real-World Features

Proposal status is Withdrawn
Session Description

One of the first things that drew me to Qt was its powerful object introspection system. At the heart of it is QMetaObject, a mechanism that lets you discover QObjects at runtime in ways that go far beyond standard C++ RTTI. This system is so foundational to Qt that even its declarative language, QML, takes its name from it: QML stands for Qt Meta-object Language.

In this talk, I will start with a quick tour of QObject and QMetaObject, followed by a hands-on code demo showing how introspection works in both C++ and QML. But the real focus will be on what you can build with it. I will walk you through practical, user-facing features like file loading and saving, copy/paste support, and automatic UI generation, all driven by the meta-object system.

To make this concrete, I will include code walkthroughs from Scrite, an open-source desktop screenwriting application, where the meta-object system has been put to use in some genuinely interesting and unconventional ways.

Whether you are new to Qt or have been using it for years, this talk will give you a fresh appreciation for one of its most powerful and underappreciated foundations.

Key Takeaways
  • What QObject & QMetaObject are and how they work

  • Why QML is called the Qt Meta-object Language

  • How to build real features like object serialization, copy/paste, and auto UI generation using introspection

References

Session Categories

Technology architecture
Engineering practice - productivity, debugging
Talk License: CC BY-SA 4.0

Which track are you applying for?

Main track

Speakers

Prashanth Udupa
Prashanth Udupa Creator | Scrite

I started coding in my teens, building a GUI framework in C/C++ for DOS and creating apps like an icon maker and freehand paint. In college, I discovered Linux and Qt—my "soulmate code"—and spent countless hours immersed in KDE, Qt, OpenGL, and VTK. That passion led to VTK Designer, an open-source visual pipeline editor, and GCF, a modular framework that powered a decade-long products and services company.

For the past eight years, I’ve been conducting Qt training and consulting across India. In 2020, I began building Scrite, a screenwriting app that helps writers visually structure stories. Built entirely with QML, Scrite is now used by over 35,000 writers worldwide and has transitioned to a sustainable, subscription-based model while staying open source. Scrite has recently raised a grant from FOSSUnited to help cover some of the infrastructure and license costs.

I love films, stories, and recently, TWIM meditation.