Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将任意放置的.QML文件的QML信号连接到Qt插槽_Qt_Qml_Qurl - Fatal编程技术网

将任意放置的.QML文件的QML信号连接到Qt插槽

将任意放置的.QML文件的QML信号连接到Qt插槽,qt,qml,qurl,Qt,Qml,Qurl,我正在尝试将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

我正在尝试将
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();
而且

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

但在这种情况下,程序无法找到
main.qml
文件。我该怎么办?

好的做法是通过使用Qt creator或手动将qml文件放入.qrc资源文件中,使您的qml文件成为应用程序可执行文件的一部分:

您可以通过以下方式使用它:

QQuickView view(QUrl("qrc:///res/qml/main.qml"));

这个问题的标题似乎与您遇到的问题无关。无论如何,问题似乎是您停止使用
QUrl::fromLocalFile()
。URL不能以c开头:\
QQuickView view(QUrl("qrc:///res/qml/main.qml"));