问题标签 [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.
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
qt - 如何在 Qt 资源中打包图片以便从静态 HTML 资源访问
我有一个使用 QWebEngineView 来显示静态 HTML 页面的 Qt Widgets 项目。该页面将显示需要与 Qt 可执行文件/安装程序“打包”的图像。我可以使用 QRC 文件添加图像并从 HTML 文件中引用它吗?
我(可怜地)试图使用“qrc:/image ...”符号访问图像,但我完全理解 QWebEngineView 显示了一个与项目资源无关的嵌入式浏览器。另一种方法?
qt - QResource注册多个资源,资源加载原理,最后一个可用的资源是哪个?
假设我有3 个 qrc 文件。前2 个包含相同的资源路径,第3 个不包含该路径,例如:
qrc1:
qrc2:
qrc3:
加载资源如下:
所以rcc文件按上述顺序注册。那么当有人试图获取qrc:/res/image.png
时,它会得到哪个文件?来自包含相应资源的第一个 rcc(来自 qrc1)还是来自最后一个成功加载的 rcc(来自 qrc2)?我在文档中找不到答案。
我的测试表明它从第一个成功加载的 rcc 中获取资源,即使我希望从最后一个 rcc 中获取它。我应该怎么做才能从上次成功加载的 rcc 中获取资源?有任何想法吗?有人了解顺序方面的资源加载原则吗?谢谢。
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”始终为“假”。我该如何解决这个问题?
c++ - Qt 如何在自定义小部件插件 dll 中嵌入图像资源并使其在 qt 设计器资源选择器对话框中可用
我已经实现了一个可以在 qt 设计器中使用的 qt 自定义小部件 (MyWidget) 插件。MyWidget 有一个 IconImg 属性,用户可以通过该属性提供一个图像文件来更改 MyWidget 的图标。现在,我想为它嵌入几个默认图像。然后,用户可以轻松选择喜欢的那个。
我的问题是,在 qt 中,如何在自定义小部件插件 dll 中嵌入图像资源并使其在 qt 设计器资源选择器对话框中可用?
c++ - 如何将 Qt 文件路径从资源转换为绝对路径?
我需要接收绝对文件路径,例如
C:/Users/Dima/YandexDisk/_Application/WeldAnalysis/ExperimentDefaults.xlsx
来自 QRC 文件的路径,例如
:/Data/ExperimentDefaults.xlsx
.
我怎样才能做到这一点?
c++ - 在每次构建时强制 rcc-ing qrc 文件
如何在 Visual Studio 2015 中的每个版本上强制对 qrc 文件进行 rcc-ing?我们将资源嵌入到二进制文件中,因此如果 qml 或图像资产之类的内容发生变化,我们需要运行 rcc 以获取.cpp
当前状态的新文件。我看到了几个选项 -.qrc
在预构建事件中粗暴地触摸文件,运行一个脚本,在构建之前检查资产文件夹中的所有内容,检查时间戳并将它们与之前构建的状态进行比较。有没有更干净、更优雅的选择?
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系统的设计限制吗?
- 有没有办法解决它?(不使用该方案对绝对路径进行硬编码)
qt - 使用 InnoSetup 创建 Qt 安装包:缺少图像
我正在 Qt Creator 中开发一个 Qt 应用程序。我正在通过InnoSetup
. 一切正常,除了已安装的程序中缺少所有图像(在 Qt Creator 中运行它可以正常工作)。
我正在使用Qt 资源系统
在我的.pro
文件中,我有
如果在我的resources.qrc
我有这样的事情:
例如,我像这样访问我的图像:
我的目录结构是:
那么我应该有完全相同的结构InnoSetup
吗?意思是我应该有build-release\release
目录和MyApp\res
?因为我试过了,但没有帮助。
c++ - Qt资源系统中前缀优于文件系统路径的优势是什么?
Qt 资源文件 .qrc允许将嵌入的文件拆分为不同的前缀
我经常看到开发人员使用上面示例的前缀重做文件系统层次结构。但在我看来,从调用者代码的角度来看,它与此完全相同:
在这两种情况下,您都可以使用具有相同语法的 C++ 文件:/qml/CustomWidget.qml
。
在文件系统路径上使用前缀+别名有什么好处吗?