2014-11-22 88 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()'。网址不能以c:\开头 – MrEricSir 2014-11-22 19:46:43

回答