Qt资源文件

Qt resourced files

本文关键字:源文件 资源 Qt      更新时间:2023-10-16

我有一个资源文件

<RCC>
    <qresource prefix="/">
        <file>_initData</file>
        <file>_LOGFILE</file>
    </qresource>
</RCC>

在我的代码中,我很容易访问第一个,但无法访问第二个。

QFile file(":/_initData");
if (!file.open(QIODevice::ReadOnly)) {
    qDebug() << "Cannot open file to fill avtomatTable";
}

运行良好

QFile file(":/_LOGFILE");
if (!file.open(/*QIODevice::Truncate | */QIODevice::WriteOnly)) {
    qDebug() << "Cannot open LOGFILE";
}

从不工作

我在用KUbuntu。这两个文件都位于该项目的目录/home/template/projects/4_Disr中。我误解了正在发生的事情,并准备相信Cthulhu。有什么建议吗?

据我所知,资源中封装的所有数据都是只读的。。。rcc将所有资源编译成二进制形式,通常会对它们进行压缩,因此您无法在写入模式下访问它们。

这意味着,文件夹中的文件在编译时被提取并添加到文件.rcc中,该文件用作资源的源文件。磁盘上的文件只是资源文件的来源,程序不使用它们,只使用rcc。

您应该将日志文件创建为独立文件,所有这些都可以正常工作。不要将其嵌入到资源系统中。