C++ / Qt - не удается открыть.txt из файла qrc

Я пробовал много вещей, но они не работали.

Я использую Qt 5.9.1, и я хотел бы открыть файл.txt (который находится в файле qrc) в переменной QFile, например:

QFile file(":/txt/config");

Я также пытался использовать

QFile file("qrc:/txt/config"); 

Вот файл qrc (суммированный):

<qresource prefix="/txt">
    <file alias="config">resources/files/config.txt</file>
</qresource>

Мой.pro имеет INCLUDEPATH += .

Я уже пытался:

Build -> Clean all
Build -> Run qmake
Build -> Build all

И это ничего не изменило, при каждом запуске у меня есть такой вывод:

QIODevice::read (QFile, ":/txt/config"): device not open

Путь в.qrc правильный, QtCreator находит файл, когда я просматриваю каталоги и открываю его в редакторе, как обычный текстовый файл.

Спасибо за вашу помощь, и извините за мой английский... (и функция редактирования не позволяет мне добавлять привет всем наверху, поэтому я говорю это здесь:))

1 ответ

Решение

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

QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
    qDebug() << "error: " << file.errorString();
}
Другие вопросы по тегам