Показать библиотеки Windows в QTreeView и QFileSystemModel

У меня есть QTreeView в моей программе для выбора каталога в ОС Windows. Это работает, однако некоторые пользователи жалуются, что для того, чтобы выбрать «Мои документы», им нужно открыть C:\Users\‹имя пользователя›\Documents, что довольно медленно. Они предпочитают получать доступ к «Библиотекам» непосредственно на корневом уровне, например, в Проводнике Windows слева (Документы, Музыка, Изображения...). Как я могу сделать это с помощью QTreeView и QFileSystemModel? Я в Qt 5/С++.

РЕДАКТИРОВАТЬ: Проводник Windows содержит также другие элементы, которые я хотел бы включить: Сеть и Избранное.


person Andrej Repiský    schedule 12.03.2015    source источник


Ответы (1)


Вам нужно использовать qstandardpaths

Это перечисление описывает различные расположения, которые можно запрашивать с помощью таких методов, как QStandardPaths::writableLocation, QStandardPaths::standardLocations и QStandardPaths::displayName.

QStandardPaths::MusicLocation   4   Returns the directory containing the user's music or other audio files. This is a generic value. If no directory specific for music files exists, a sensible fallback for storing user documents is returned.

QStandardPaths::MoviesLocation  5   Returns the directory containing the user's movies and videos. This is a generic value. If no directory specific for movie files exists, a sensible fallback for storing user documents is returned.
person GPPK    schedule 12.03.2015
comment
Это хорошо, но вопрос также в том, как добавить это в QTreeView и QFileSystemModel. Кроме того, я хотел бы включить сеть и избранное на корневом уровне, где у меня в настоящее время есть буквы жесткого диска. Я отредактировал свой пост. - person Andrej Repiský; 12.03.2015