QML-Project in cpp einbinden
-
Hallo,
ich habe ein QML-Project das mir in einem Rectangle RSS-Feeds anzeigt. Analog zum RSS-Example von Qt.
Das Projekt kann ich mit dem Creator auch ausführen und läuft einwandfrei.
Nun möchte ich das QML in eine MainWindow-Applikation einbauen bzw. dort z.B. per Button-Click aufrufen.Leider hab ich in der Doku noch keinen Weg gefunden, wie das zu bewerkstelligen ist.
projekt.pro
QT += core gui quick network qmlmain.cpp
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl::fromLocalFile("RssInfo.qml"));
return app.exec();Fehlermeldung
loaded library "crypto"
loaded library "ssl"
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_ciphersuites
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callbackDie Meldung kommt auch wenn ich in meiner qml "nur" ein einfaches ApplicationWindow erstelle.
ApplicationWindow {
id: applicationWindow
visible: true
width: 640
height: 400
title: qsTr("Rss-Feed")
}
Zumindest wird das mit dem build-QML-Preview angezeigt. Irgendwie komm ich nicht weiter..... -
@Linex said in QML-Project in cpp einbinden:
QUrl::fromLocalFile("RssInfo.qml")
Hi, ich verstehe nicht ganz deine Situation, vielleicht würdest du da nochmal ein wenig ausholen und mehr erklären
aber von dem was ich sehe, würde ich sagen
QUrl::fromLocalFile("RssInfo.qml")
ist der Übeltäter.Die fertige exe Datei liegt nicht im selben Verzeichnis wie dein Projekt -> wird in dem Ordner die RssInfo.qml nicht finden, weil nicht vorhanden.
Ich würde empfehlen das Qt Ressourcen System zu nutzen und die QML Datei da rein packen und von dort zu laden
-
sicher
https://doc.qt.io/qt-5/qquickwidget.html
https://doc.qt.io/qt-5/qquickview.htmlaber ich hab 1- 2 Fehler in gemischten Projekten gefunden(hauptsächlich für Mobile Endgeräte ) also, mit Vorsicht genießen 😉