There was some effort to make it possible to use Qt without moc [0] and instead rely on some more modern C++ features. No clue where the effort is these days
(probably already superseded by more modern C++ constructs)
There isn't anything in boost, and even less in c++20 that gets anywhere close to the codegen & runtime reflection that Qt provides. We need reflection & metaclasses/constexpr code generation but the way it looks it won't be in before c++26.