2014-11-22 2 views
0

Я пытаюсь подключить QML сигнал к Qt слоту. Я прочитал, что example и вот кодПодключить QML-сигнал произвольно размещенного .qml-файла к слоту Qt

int main(int argc, char *argv[]) { 
    QGuiApplication app(argc, argv); 
    qDebug()<<QUrl::fromLocalFile("main.qml"); 
    QQuickView view(QUrl::fromLocalFile("main.qml"));//I should replace that line 
    QObject *item = view.rootObject(); 

    MyClass myClass; 
    QObject::connect(item, SIGNAL(qmlSignal(QString)), 
        &myClass, SLOT(cppSlot(QString))); 

    view.show(); 
    return app.exec(); 

}

Он отлично работает, но проблема заключается в том, что main.qml должен находиться в папке, где .exe файл находится. Поэтому каждый раз, когда я изменяю main.qml, я должен скопировать его в другой foder. Путь к файлу main.qml: «C: \ Qt \ projects \ ConnectionsQT \ main.qml». Я попытался заменить линию

QQuickView view(QUrl("‪C:\Qt\projects\ConnectionsQT\main.qml"); 

и

QQuickView view(QUrl("‪C:\\Qt\\projects\\ConnectionsQT\\main.qml"); 

, но в том, что случаях программа не может найти файл main.qml. Что мне делать?

+1

Название этого вопроса, похоже, не имеет ничего общего с проблемой, с которой вы столкнулись. Во всяком случае проблема заключается в том, что вы перестали использовать 'QUrl :: fromLocalFile()'. URL-адреса не могут начинаться с c: \ – MrEricSir

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^