Qt QQmlApplicationEngine refuse to display qml code
qml, qt
Solution
You're missing this:
ApplicationWindow {
visible: true
Qt Creator's new project wizard (`New File or Project... > Qt Quick Application`) has a step where you choose the component set (`Select Qt Quick Component Set`). If you choose Qt Quick Controls (which are required in order to use `ApplicationWindow`), Creator generates the correct code for you:
import QtQuick 2.2
import QtQuick.Controls 1.1
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
menuBar: MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
}
Text {
text: qsTr("Hello World")
anchors.centerIn: parent
}
}
Problem
I have this pro file ``` QT += qml quick widgets TARGET = sPassKeeper include(src/src.pri) include(qml/qml.pri) RESOURCES += \ resources.qrc ``` in src pri and qml pri only single lines qml.pri ``` OTHER_FILES += \ qml/main.qml ``` src.pri ``` SOURCES += \ src/main.cpp ``` In main.cpp got this code ``` #include <QApplication> #include <QQmlApplicationEngine> #include <QtDebug> int main(int argc, char *argv[]) { QApplication app(argc, argv); QQmlApplicationEngine engine(QUrl("qrc:/new/prefix1/qml/main.qml")); qDebug() << "Ok engine created"; // Q_UNUSED(engine) return app.exec(); } ``` main.qml ``` import QtQuick 2.0 import QtQuick.Controls 1.1 ApplicationWindow{ title: "sPassKeeper" Button{ text: "Hello" } } ``` As a result got this output QML debugging is enabled. Only use this in a safe environment. Ok engine created Nothing displayed and process is not completed.