Qt ресурсные файлы - PullRequest
1 голос
/ 25 мая 2011

У меня есть файл ресурса

<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. Я неправильно понял, что происходит, и приготовился поверить в Ктулху. Есть предложения?

1 Ответ

7 голосов
/ 25 мая 2011

Все данные, инкапсулированные в ресурс, доступны только для чтения, насколько я знаю ... rcc компилирует все ресурсы в двоичную форму, обычно сжимает их, поэтому вы не можете получить к ним доступ в режиме записи.

Это означает, что файлы, которые находятся в вашей папке, взяты во время компиляции и добавлены в файл .rcc, который используется в качестве исходного файла для ваших ресурсов. Файлы на вашем диске являются просто источником, из которого собирается файл ресурсов, ваша программа их не использует, просто rcc.

Вы должны создать файл журнала как отдельный файл, и все будет работать нормально. Не встраивайте его в систему ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...