问题标签 [qresource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
830 浏览

c++ - Redirecting the output of QProcess when running a resource file

fairly new to Qt.

I'm using QProcess to run an external shell script and redirecting the output to a textBrowser on my GUI. Code:

In mainwindow.h:

and mainwindow.cpp:

This works perfectly to run an external script. My question is how to apply the same process with the script included as a resource file. I've tried simply replacing "./someScript.sh" with the resource version ":/someScript.sh" but it does not seem to work. The resource script runs perfectly, but the console output disappears.

0 投票
5 回答
21648 浏览

python - ImportError:没有名为“resource_rc”的模块

我用 PyQt GUI 做了一个简单的程序,并编译了 '.ui' 文件。

但它会导致如下错误。

ImportError:没有名为“resource_rc”的模块

我已经尝试在 StackOverflow 中找到此错误,但没有人收到此错误。

我正在使用 Python 3.5 和 PyQt 5.6。(我知道 PyQt 与 Python 3.5 不兼容,但除此之外我没有任何错误)


现在,在我删除最后一行代码后,代码可以正常工作:'import resource_rc'

但这条线到底在做什么?

0 投票
0 回答
323 浏览

c++ - 将文件从资源复制到磁盘保持文件夹结构(平台无关)

问题:

如何以独立于平台的方式将资源文件复制到磁盘,同时保留文件名?

示例和说明:

我的资源文件(.qrc 文件)中有文件,例如:

我想将这些文件复制到磁盘上,为了示例,保留文件结构。

所以生成的文件夹结构应该是这样的(unix系统):

这里建议复制到文件系统的方法,如下图,但需要指定文件名。但是,这应该自动获取资源的原始文件名。

目前我需要执行以下操作来复制文件夹结构:

但是我不敢相信这是最好的方法。

此外,由于目录分隔符,此方法依赖于平台(虽然是小问题)。

有没有更好的方法来实现这一目标?

0 投票
1 回答
225 浏览

qt - 获取 qrc 文件中资源的原始文件名

问题:

如何从qrc 资源文件中获取原始文件名?

更多信息:

使用fileName()absoluteFilePath()方法,我实现了以下示例:

在这里,我希望看到(至少):

或者

实现代码:

输出:

我误解了文档页面,还是我做错了

0 投票
0 回答
456 浏览

qt - QResource注册多个资源,资源加载原理,最后一个可用的资源是哪个?

假设我有3 个 qrc 文件。前2 个包含相同的资源路径,第3 个不包含该路径,例如:

qrc1:

qrc2:

qrc3:

加载资源如下:

所以rcc文件按上述顺序注册。那么当有人试图获取qrc:/res/image.png时,它会得到哪个文件?来自包含相应资源的第一个 rcc(来自 qrc1)还是来自最后一个成功加载的 rcc(来自 qrc2)?我在文档中找不到答案。

我的测试表明它从第一个成功加载的 rcc 中获取资源,即使我希望从最后一个 rcc 中获取它。我应该怎么做才能从上次成功加载的 rcc 中获取资源?有任何想法吗?有人了解顺序方面的资源加载原则吗?谢谢。

0 投票
1 回答
372 浏览

c++ - QResource:注销 .rcc 文件

我们有一个具有多个主题的应用程序,称为其他次要应用程序。所以,在主应用程序上有这样的东西:

在主应用程序上一切正常。当此软件调用其他 qt 应用程序时,问题就开始了。

在这些小应用程序中,我们遵循相同的注册和注销流程。奇怪的是,注册总是有效,而注销永远不会有效(仅在未成年人应用程序中)。它正在发生这样的事情:

为什么会这样?有解决办法吗?

0 投票
1 回答
2178 浏览

c++ - C++ / Qt - 无法从 qrc 文件打开 .txt

我尝试了很多东西,但没有奏效。

我正在使用 Qt 5.9.1,我想在 QFile 变量中打开一个 .txt 文件(位于 qrc 文件中),如下所示:

我也尝试使用

这是 qrc 文件(摘要):

我的 .pro 确实有INCLUDEPATH += .

我已经尝试过:

它什么也没改变,在每次启动时,我都有这个输出:

.qrc 中的路径是正确的,当我浏览目录并在编辑器中像普通文本文件一样打开它时,QtCreator 会找到该文件

感谢您的帮助,对不起我的英语......(编辑功能不允许我在顶部添加大家好,所以我在这里说:))

0 投票
1 回答
710 浏览

c++ - 在运行时删除/修改静态 Qt 资源

作为 Qt Designer hacking 的一部分,我有兴趣在运行时删除资源(特别是:/trolltech/widgetbox/widgetbox.xml)。有关上下文的更多详细信息,请参阅文章末尾。

我明显(并且失败)的尝试是:

但它返回了一个错误。

我的下一个尝试是使用Q_CLEANUP_RESOURCE(widgetbox),但它扩展的功能仅在 Qt Designer 的私有组件(QDesignerComponents)中可用。

另一种尝试是清除文件的内容,但它是只读的:

我还尝试通过定义自己的:/trolltech/widgetbox/widgetbox.xml. 我可以打开文件,但无法检索数据,我猜是因为它是重复资源(将资源别名为未使用的名称会使应用程序正确打印出内容)。另一方面,小部件列表正确显示。

有没有办法在运行时修改/删除/替换资源文件?


如果您认为这是一个XY 问题,我将解释整个上下文:我通过对独立的 IDE 进行小的调整,将 Qt Designer 集成到我自己的 IDE 中。基本上,我添加了一个编译标志来生成动态库而不是可执行文件,并添加了一些选项来公开主窗口。

在此 IDE 中,我想添加一个选项以避免用户使用默认小部件并将列表限制为一组自定义小部件。我提到的资源是包含 Qt Designer 中默认可用的小部件列表的文件。可以通过插件轻松包含其他小部件,但我还没有找到删除默认小部件的方法。

我有一个选择是使该负载成为可选的,但它会在许多项目中产生一连串的变化。我想避免过多地修改 Qt Designer。

0 投票
1 回答
694 浏览

c++ - Qt:从项目资源中为 .txt 文件打开的 QFile 的空内容

我在 mainwindow.cpp 的项目中尝试了这个:

但这是错误的,文件的内容是

为什么它说文件中没有任何内容?或者我的代码中遗漏了什么?` 感谢您的回答!

0 投票
1 回答
1354 浏览

qt - 如何在 Qt 应用程序中正确添加资源

我正在尝试在 Qt 中部署 Windows 应用程序,所以我将模式更改为发布,但是当我执行它时,它所写的只是

我已经多次尝试返工resources.qrc,但没有成功。

资源.qrc

我试图复制 qml 和 images 文件夹(它们与main.cppresources.qrc位于同一文件夹中),但也没有成功。

这就是我设置主要来源的方式QQuickView

在调试模式下,没有问题,一切都按原样开始。

如何更改资源/代码以使其正常工作?

谢谢你的帮助!

//编辑:

我已经设法解决它view_>setSource(QUrl(QStringLiteral("qrc:/qml/Main.qml")));