Para tornar a instância KTerminalDisplay
acessível a partir do QML, você deve registrá-la no seu main.cpp
. Como você espera que o pai seja um QQuickItem, sua pergunta não é tão simples. Depois de olhar para o aplicativo de terminal , posso propor o seguinte truque:
QQuickItem *item = view.rootObject();
KTerminalDisplay * display = (KTerminalDisplay *) item;
view.engine()->rootContext()->setContextProperty("kdisplay", display);
Uma vez cadastrado, você pode chamar setFontStyle
do QML:
kdisplay.setFontStyle("foo")
Nota : Veja Incorporando objetos C ++ em QML com Context Properties , como você pode marcar seu método como um slot.
Fonte: link