Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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嵌入资源Qt应用程序时出现问题_Qt_Embedded Resource_Qml - Fatal编程技术网

将QML嵌入资源Qt应用程序时出现问题

将QML嵌入资源Qt应用程序时出现问题,qt,embedded-resource,qml,Qt,Embedded Resource,Qml,我在将QML组件嵌入应用程序的资源时遇到一些问题 我有一些gui.qml import QtQuick 1.0 Rectangle { width: 480 height: 525 color: "#ffff00" } 我的目录 \main.cpp \gui.qml 我试着运行它: view = new QDeclarativeView(m_GUI); view->setSource(QUrl("qrc:/gui.qml")); 但我明白: qrc:/gui

我在将QML组件嵌入应用程序的资源时遇到一些问题

我有一些gui.qml

import QtQuick 1.0

Rectangle {
    width: 480
    height: 525
    color: "#ffff00"
}
我的目录

\main.cpp
\gui.qml
我试着运行它:

view = new QDeclarativeView(m_GUI);
view->setSource(QUrl("qrc:/gui.qml"));
但我明白:

qrc:/gui.qml: File not found 
怎么了?

谢谢大家 我解决了

在资源中,我有根路径的前缀

view->setSource(QUrl("qrc:/MyPrefix/gui.qml"));

我注意到,使用这种方法,每当我更改QML文件时,我都必须重建项目,以便将更改包含在QRC中,否则它将使用旧版本。也许一些较小的操作就足够了,但可以肯定的是,仅仅运行应用程序不会刷新资源并使用旧的资源。另一方面,直接使用QUrl::fromLocalFile将source设置为文件时,始终可以看到QML上的更改,而无需构建任何内容。您知道在修改QML后要设置什么来重建QRC吗?