Получавам грешки: QQmlApplicationEngine не успя да зареди компонент и qrc:/main.qml:-1 Файлът не е намерен

Създадох приложение Qt Widgets, след което добавих qml с име „main.qml“ към него. Моите файлове са dialog.cpp, dialog.h, dialog.ui, main.cpp, untitiled9.pro, main.qml в qml.qrc

main.cpp:

#include "dialog.h"
#include <QApplication>
#include <QQmlApplicationEngine>
#include<QtQml>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    // w.show();
    QQmlApplicationEngine engine;
    // engine.load(QUrl(QStringLiteral("qrc://main.qml")));
    engine.load(QUrl::fromLocalFile("qrc:///main.qml"));
    return a.exec();
}

Написах QT += qml quick widgets в untitled9.pro.
Не съм променил други кодове, как се случи това? Това е първият ми въпрос в stackoverflow, опитвам се да изясня въпроса си.


person Peter Zhang    schedule 21.04.2015    source източник


Отговори (1)


@hwnd: Не, но към текста в рамките на /.../ има приложена променлива интерполация. Бърз експеримент показва, че $s =~ /([\w$]*)/ създава оплакване Unmatched [ в регулярен израз, но $s =~ /([\w\$]*)/ работи. Интересно, че $s =~ /foo$/ няма този проблем.
person douyw    schedule 21.04.2015