Qt doesn’t require the use of moc just to use it, it requires that usage if you create a subclass of QObject, and to declare signals and slots in your custom classes.
It’s not unreasonable, moc provides features that C++ doesn’t have, signals/slots, introspection, etc.
So, to do something minimally advanced, you WILL have to use the moc preprocessor. You either love it, or hate it.