[solved]QQmlcomponent:component is not ready
-
wrote on 22 May 2015, 19:43 last edited by mahadin
i want to use QML object on C++ by these codes :
// Using QQmlComponentQQmlEngine engine; QQmlComponent component(&engine, QUrl::fromLocalFile("MyItem.qml")); QObject *object = component.create(); ... delete object;
(from QT help )
but get this mesage : QQmlcomponent:component is not ready
:(when write a wrong address insted of MyItem.qml (use a address dos not exist) i get that too !
i thing my Qml file is not accessable .
please help me . -
i want to use QML object on C++ by these codes :
// Using QQmlComponentQQmlEngine engine; QQmlComponent component(&engine, QUrl::fromLocalFile("MyItem.qml")); QObject *object = component.create(); ... delete object;
(from QT help )
but get this mesage : QQmlcomponent:component is not ready
:(when write a wrong address insted of MyItem.qml (use a address dos not exist) i get that too !
i thing my Qml file is not accessable .
please help me .Hi @mahadin and welcome,
That error is thrown when theqml
if not found as you said and also thrown even if there is an error inqml
file. So check the accessibility of file first and for errors if any in the file. -
@p3c0
Tanks
I use a empty QML file like :import QtQuick 2.0
Rectangle {
width: 100
height: 62
}i have this problem with example code in QT help.
how can I check the accessibility of QML file ? -
wrote on 23 May 2015, 15:22 last edited by
I cheked it manually !
it persent in direcrory that my .pro and main.cpp files is there . :( -
I cheked it manually !
it persent in direcrory that my .pro and main.cpp files is there . :(@mahadin OK. What does
file.exists()
show ? -
@mahadin Hmm, I guess the problem must be that the qml file is not present in the compiled executable's current working directory. Try giving a complete path of qml file instead.
Or you can add it in yourqrc
file and load it from there as follows:QQmlComponent component(&engine,QUrl(QStringLiteral("qrc:/MyItem.qml")))
7/9