C++:Qt Файл не найден с помощью компонента
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlEngine engine;
interaction inter("test");
engine.rootContext()->setContextProperty("interaction", &inter);
QQmlComponent component(&engine, QUrl::fromLocalFile("qrc:///main.qml"));
if (component.status() != component.Ready) {
if (component.status() == component.Error) {
qDebug(component.errorString().toUtf8().constData());
}
}
else {
qDebug("not ready");
}
}
component.create();
return app.exec();
}
QML:
import QtQuick 2.2
Rectangle {
width: 500 ; height: 500
visible: true
MouseArea {
anchors.fill: parent
onClicked: {
text.text = inter.author
}
}
Text {
id: text
text: "some text to change"
}
}
ошибка:
«Файл: /// C:/Qt/Инструменты/QtCreator/bin/build-testcpp-Desktop_Qt_5_3_MSVC2013_OpenGL_64bit-Debug/qrc: /main.qml: -1 Файл не найден
QQmlComponent: компонент не готов "
Я новичок в qt и пытаюсь использовать C++ для изменения текстового элемента, он компилируется и работает нормально, но он никогда не загружается, потому что он не может найти файл qrc. Я попытался отключить теневые сборки, передав QUrl с полным путем вместо «qrc: ///main.qml», и я попытался обернуть путь в QStringLiteral, но ничего не работает.
Если у кого есть какие-либо советы, мы будем благодарны за это.
редактировать:
.pro
TEMPLATE = app
QT += qml quick
SOURCES += main.cpp \
interaction.cpp
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
HEADERS += \
interaction.h
.qrc
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>MyItem.qml</file>
</qresource>
</RCC>
благодарит за ответ! включая .pro и .qrc в исходном вопросе, да, я обычно не буду возиться с конфигурацией проекта, но я пытался все, что мог найти. – user3767686