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.