Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2013, 05:37   #1
Mahin
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 39
По умолчанию Qt обзор папок

Использую QTreeView и QFileSystemModel для обзора дерева папок:
Код:
QFileSystemModel *model = new QFileSystemModel();
model->setFilter(QDir::AllDirs | QDir::AllEntries);
ui.treeView->setModel(model);
ui.treeView->setRootIndex(model->index(QDir::rootPath()));
отображаются только папки входящие в путь к приложению, как показать все папки?
Mahin вне форума Ответить с цитированием
Старый 26.03.2013, 10:44   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

upd.


Решение - использовать QDirModel вместо QFileSystemModel.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 26.03.2013 в 11:09.
ROD вне форума Ответить с цитированием
Старый 26.03.2013, 19:37   #3
Mahin
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 39
По умолчанию

Всё бы ничего, но меня смущает вот это фрагмент из документации Qt:
Цитата:
The usage of QDirModel is not recommended anymore. The QFileSystemModel class is a more performant alternative.
Mahin вне форума Ответить с цитированием
Старый 26.03.2013, 21:15   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Код:
    QFileSystemModel *model;
    model = new QFileSystemModel();
    model->setFilter(QDir::AllEntries);
    model->setRootPath(QDir::rootPath());
    ui->treeView->setModel(model);
    ui->treeView->setRootIndex(model->index("/home/"));
Этот код рабочий.

Вообще, судя по описанию, QDir::AllDirs исключает любые другие фильтры.
Цитата:
List all directories; i.e. don't apply the filters to directory names.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 26.03.2013 в 21:26.
ROD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет на обзор Masafi PHP 3 13.01.2013 12:25
обзор папок Черничный Общие вопросы Delphi 14 14.08.2008 10:18
Обзор оборудования XMack Win Api 3 21.10.2007 23:18