Qt5 C++: добавление дополнительной информации в QFileSystemModel

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

Нужно ли создавать подкласс QFileSystemModel и добавлять к нему дополнительные данные? Как обрезать новые и пустые строки в обычном текстовом редакторе, который используется для добавления дополнительных данных? Как вывести данные QFileSystem в файл, а потом импортировать обратно?


person user1257255    schedule 18.06.2013    source источник


Ответы (1)


Я бы предложил создать собственную прокси-модель (на основе QIdentityProxyModel).

Таким образом, вам придется заново реализовать роли data и setData, чтобы вы могли использовать эти функции для получения или сохранения ваших данных (используя QModelIndex доступ).

Вы можете связать свои данные с данными модели файловой системы QFileSystemModel::FilePathRole.

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

person Lol4t0    schedule 18.06.2013