Qt - QFileSystemModel не поддерживает сетевые пути и внешние диски? - PullRequest
0 голосов
/ 11 января 2020

Используя Qt (точнее, Qt 5.13), я хочу создать обозреватель файлов, максимально близкий к обозревателю Windows Explorer. Этот файловый браузер должен быть максимально простым с точки зрения кода, но максимально полным с точки зрения функциональности.

Я обнаружил, что модель QFileSystemModel существует, и в сочетании с представлением , это может быть использовано в качестве основы для создания моего проводника. Однако я столкнулся с несколькими серьезными ограничениями при использовании этой модели. Одним из самых раздражающих является то, что я не нашел возможности показать внешние накопители (USB-накопители, подключенные телефоны, ...) и сетевые пути (Соседняя сеть, ...). Установив модель на root, я могу видеть все свои локальные диски, включая виртуальные (т. Е. Смонтированные с помощью команды subst), но больше ничего.

Я использую этот код для создания своей модели и свяжите это с представлением на моем интерфейсе:

QFileSystemModel* pModel = new QFileSystemModel;
pModel->setRootPath(pModel->myComputer().toString());
ui.treeView->setModel(pModel);

И я получаю такой результат:

enter image description here

4 первые записи физические диски, и последние 4 являются виртуальными дисками. Но я больше ничего не могу показать, несмотря на все мои попытки настроить модель.

Как мне изменить приведенный выше код, чтобы он также отображал сетевые и внешние диски?

...