Acabei de aprender como fazer isso e escrevi o que aprendi aqui . Vou repetir as ideias básicas aqui.
Qualquer classe C ++ que você queira expor pode ser deixada na maior parte como está. Quaisquer métodos que você deseja que sejam expostos ao QML precisam ser prefixados com Q_INVOKABLE no arquivo de cabeçalho. Para representar o plug-in, você precisa de uma classe que herde de QQmlExtensionPlugin , que possui um método registerTypes que chama qmlRegisterType em cada classe a ser exposta a QML.
O diálogo que você mencionou, foi isso?

Sesim,entãopara"Command" coloque qmlscene e para "Argumentos", -I <DIR> <QML> , onde <DIR> é o diretório que contém o diretório do plugin (provavelmente . , o diretório do projeto) e <QML> é o seu arquivo principal .qml . Mais uma vez, veja minha postagem para uma explicação mais completa e um exemplo para download.