Integrare progetti qml in progetti c++ qtcreator
-
mi spiego meglio, non ho mai approcciato la programmazione qml (mio danno) e stò cominciando ora a leggere i primi esempi.
Mi sono concentrato sull'esempio "STYLE" della cartella quickcontrols. Il meccanismo lo ho parzialmente compreso .... ma su creator ho visto che c'è la possibilità di inserire, all'interno di un widget "classico" un widget qlm .... a questo punto mi chiedevo come per esempio inserire main.qml dell'esempio in un widget apposito all'interno della mia applicazione qt5.10 in c++, facendolo diventare parte integrante della mia applicazione non scritta in qml ....
non sono riuscito a trovare qualcosa che mi facesse capire il meccanismo .... questa cosa è ancora valida?
QQuickView *view = new QQuickView(); QWidget *container = QWidget::createWindowContainer(view, this); /* dimensioni di container sono definiti in qtcreator ui è corretto o devo definirle??*/ view->setSource(QUrl("qrc:/main.qml")); // tento di inserire qua ui->verticalLayout->addWidget(container); /* devo per forza dichiarare un layout avendo quello fornito da qt creator??*/
ciao e grazie a chi vorrà spiegarmi
-
Puoi mettere QML dentro a QWidget (usando https://doc.qt.io/qt-5/qquickwidget.html) ma non il contrario
-
ma a scrivere così la cosa è sbagliato?
ui->QWchart1->setSource(QUrl::fromLocalFile("firstwidget.qml")); ui->QWchart1->show();
continua a ritornarmi riferimento non definito a QWidget.setSouces .... e tutta una serie di errori dovuti al fatto che il file qlm riporta in reatà una serie di pulsanti e combobox .... non leggendo il file qlm non ne trova nemmeno uno ovviamente e per ogniuno c'è un riferimento non definito a ....
grazie ancora
-
Prova a dare il percorso completo al file, probabilmente cerca il fine in una cartella che non ti aspetti
@VRonin non era il path .... ma un errore nel file .pro ....
ti devo fare una domanda prima di studiare tutta sta roba: ma è conveniente imparare a scrivere le interfacce con qt quick 1 o 2, imparare a fare i file qlm correttamente etc etc oppure conviene stare sul qt c++ classico? l'unico vantaggio è il potere usare python e java con molta facilità oltre che c++ o ce ne sono altri che non vedo? (bhe la parte rendere 3d mi pare più facile .... ma io non la uso ... )