Type driven user interfaces with Qt and C++
summary
C++17 templates define a central data schema that generates concrete code: command types, validators, storage_for-derived stores, persisted events, computation pipelines and view-model QObjects (not raw widgets). Implementation uses ADL plus a ptr trick and a storage_for pattern to recurse schema→code, and relies on templated QObjects via Verdigris with a constexpr registration API. Demo repository shows it working; tradeoffs are required template boilerplate, very long type names, no C++11 support and no off‑the‑shelf automatic generator.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 3:42Strict C++ types
- 8:13Data schemas foundation
- 13:46Type-based codegen
- 16:50Q-objects implementation
- 19:15Summary and benefits
- 22:44Q&A
related talks
05mGenerating UI with C++, boost & Qt
49mApplied Modern C++: beyond type erasure and visitor pattern
01h 22mArranging Items, QML Components and Debugging QML (part 4/4)
26mType-driven User Interface Design
35mQML in Qt6
53mQt Quick Best Practices and Design Patterns
01h 02mAnatomy of real world apps, Qt Quick and C++
49mQt Quick Best Practices and Design Patterns
