I use fopen(filename.c_str(), "rb");
在 Qt 中使用图像资源。
But fopen
想要一个完整的路径。如果我的文件名是,则不起作用:/images/img.png
!
fopen
不是 Qt 的一部分。 Qt 的资源系统仅适用于 Qt 类。请参阅 Qt 文档使用应用程序中的资源了解详情。
适用于资源的 Qt 类首先检查给定的文件名是否以资源标记开头(:
),如果是,他们会在内部查找资源(没有打开物理文件!),否则,他们会打开物理文件。请注意,资源在编译时(使用 Qt 资源编译器)包含在应用程序的源代码中(作为简单的字节数组),并使用 Qt 内部的特殊资源读取器进行读取,该读取器可以将资源文件视为资源文件would是一个物理文件,但它仍然isn't.
如果传递资源文件路径(以:
) to fopen
? fopen
尝试阅读physical名为的目录:
并在此目录中搜索您提供的子路径。当然,您的硬盘上不存在这样的目录,因为该文件是可执行文件的一部分。 (并且请不要尝试通过使用打开可执行文件来从可执行文件中手动读取资源文件fopen
并寻求资源!)
在您的具体情况下:您是否尝试使用外部图像读取器来读取图像? Qt 有自己的 PNG 阅读器。只需致电QImage(QString filename)构造函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)