2013-03-25 2 views
2

У меня есть приложение Qt с большим объемом данных, хранящимся в папке «данные», которая находится в том же каталоге, что и файл qrc приложений.Qt: путь к каталогу данных

Я хочу, чтобы какое-то приложение было известно, где найти эту папку. Я не хочу добавлять все данные в качестве файлов ресурсов, потому что хочу иметь возможность добавлять и удалять новые файлы данных в каталог данных, не переписывая их каждый раз. Я не хочу жестко указывать относительные пути к файлам, потому что каталог выполнения может различаться в зависимости от операционной системы, запуска приложения и т. Д., И я не хочу жестко кодировать абсолютные каталоги, потому что они не будут одинаковыми, если приложение составлен на разных машинах.

Как я могу сделать свое приложение известным, где искать папку с данными? Структура каталогов всего проекта будет одинаковой независимо от того, на какой ОС/машине она включена.

+1

В типичной установке, где находится эта папка с данными? Вы изучили метод «storageLocation» QDesktopServices? – andref

ответ

0

Имейте файл конфигурации xml, который будет содержать список всех возможных комбинаций приложения ОС и соответствующий путь для чтения.

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

3

Каталог приложений доступен через QCoreApplication.applicationDirPath(), доступен через глобальную qApp:

#include <QApplication> 

    ... 
    QString appDir = qApp.applicationDirPath(); 
Смежные вопросы