问题标签 [qt-resource]

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 投票
1 回答
261 浏览

c++ - 无法读取外部类型和资源系统的文件

我想通过 C++ 类中的 Qt 资源系统读取 json 文件。

假设Translator.h

并且Translator.cpp

还有.qrc文件:.qrc:

每次我运行上面的代码时都会出错:

QIODevice::read (QFile, ":\Resources\Text\Translation.json"): device not open

但是,当我删除外部Translator对象并在主函数中创建它或将路径“Resources/Text/Translation.json”替换为完整路径时,不会再出现错误

笔记:

可能值得一提的是,我想Translator.json在整个应用程序中阅读一次,为此我创建了一个extern Translator

0 投票
1 回答
424 浏览

qt - 如何在 Qt 资源中打包图片以便从静态 HTML 资源访问

我有一个使用 QWebEngineView 来显示静态 HTML 页面的 Qt Widgets 项目。该页面将显示需要与 Qt 可执行文件/安装程序“打包”的图像。我可以使用 QRC 文件添加图像并从 HTML 文件中引用它吗?

我(可怜地)试图使用“qrc:/image ...”符号访问图像,但我完全理解 QWebEngineView 显示了一个与项目资源无关的嵌入式浏览器。另一种方法?

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 回答
3446 浏览

c++ - 在 translations.qrc 文件中读取翻译器文件 .ts/.qm

我正在尝试在我的 Qt 项目(Linux 系统上的 Qt 5.6)上导入翻译文件,但我无法上传翻译文件,因为该QTranslator::load方法总是返回false

我有以下“testTrl”项目结构:

在项目根目录上,我有“resources”文件夹,其中包括“qml.qrc”、“translations.qrc”和“translations”文件夹:

我已经使用“lrelease”和“lupdate”命令获得了“.ts”和“.qm”文件。

项目文件:

testTrl.pro 文件:

translations.qrc 文件:

main.cpp 文件:

“isFileTranslatorLoaded”始终为“假”。我该如何解决这个问题?

0 投票
0 回答
103 浏览

c++ - Qt 如何在自定义小部件插件 dll 中嵌入图像资源并使其在 qt 设计器资源选择器对话框中可用

我已经实现了一个可以在 qt 设计器中使用的 qt 自定义小部件 (MyWidget) 插件。MyWidget 有一个 IconImg 属性,用户可以通过该属性提供一个图像文件来更改 MyWidget 的图标。现在,我想为它嵌入几个默认图像。然后,用户可以轻松选择喜欢的那个。

我的问题是,在 qt 中,如何在自定义小部件插件 dll 中嵌入图像资源并使其在 qt 设计器资源选择器对话框中可用?

0 投票
1 回答
3636 浏览

c++ - 如何将 Qt 文件路径从资源转换为绝对路径?

我需要接收绝对文件路径,例如

C:/Users/Dima/YandexDisk/_Application/WeldAnalysis/ExperimentDefaults.xlsx

来自 QRC 文件的路径,例如

:/Data/ExperimentDefaults.xlsx.

我怎样才能做到这一点?

0 投票
2 回答
1229 浏览

c++ - 在每次构建时强制 rcc-ing qrc 文件

如何在 Visual Studio 2015 中的每个版本上强制对 qrc 文件进行 rcc-ing?我们将资源嵌入到二进制文件中,因此如果 qml 或图像资产之类的内容发生变化,我们需要运行 rcc 以获取.cpp当前状态的新文件。我看到了几个选项 -.qrc在预构建事件中粗暴地触摸文件,运行一个脚本,在构建之前检查资产文件夹中的所有内容,检查时间戳并将它们与之前构建的状态进行比较。有没有更干净、更优雅的选择?

0 投票
2 回答
1520 浏览

c++ - 如果页面是从 Qt RCC 资源系统加载的,QWebEngineView 不会从 html 页面加载相关资源

编辑:在@eyllanesc 评论之后,这是一个托管在 github 上的最小示例。该测试在 OS X 10.12 上的 Qt5.9 上运行。

基础 HTML

让我们创建一个通过相对路径加载图像的最小示例 HTML,test.html

该文件是在一个文件夹中创建的,该文件夹还包含img.jpg(应该是一张可爱小狗的照片)

test.html直接在浏览器中打开时,它会按预期显示图像。

 qrc 和相对路径的问题

现在,如果我们将这两个资源都嵌入到 Qt 应用程序中,使用以下 .qrc 文件:

我们可以QWebEngineView使用以下形式的一些代码打开 HTML 页面:

页面已加载,但图像未加载。

启用 Web 开发者控制台(通过运行带有参数的应用程序--remote-debugging-port=8888)并转到 Network 选项卡,我们可以看到甚至没有尝试加载img.jpg

 用绝对路径,没问题

如果图像元素更改为<img src="qrc:///img.jpg"></img>,则一切正常并加载图像。

问题

  • 这是qrc系统的设计限制吗?
  • 有没有办法解决它?(不使用该方案对绝对路径进行硬编码)
0 投票
0 回答
209 浏览

qt - 使用 InnoSetup 创建 Qt 安装包:缺少图像

我正在 Qt Creator 中开发一个 Qt 应用程序。我正在通过InnoSetup. 一切正常,除了已安装的程序中缺少所有图像(在 Qt Creator 中运行它可以正常工作)。

我正在使用Qt 资源系统

在我的.pro文件中,我有

如果在我的resources.qrc我有这样的事情:

例如,我像这样访问我的图像:

我的目录结构是:

那么我应该有完全相同的结构InnoSetup吗?意思是我应该有build-release\release目录和MyApp\res?因为我试过了,但没有帮助。

0 投票
2 回答
1224 浏览

c++ - Qt资源系统中前缀优于文件系统路径的优势是什么?

Qt 资源文件 .qrc允许将嵌入的文件拆分为不同的前缀

我经常看到开发人员使用上面示例的前缀重做文件系统层次结构。但在我看来,从调用者代码的角度来看,它与此完全相同:

在这两种情况下,您都可以使用具有相同语法的 C++ 文件:/qml/CustomWidget.qml

在文件系统路径上使用前缀+别名有什么好处吗?