Russian Qt Forum
Августа 26, 2025, 18:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDirModel and QTreeView  (Прочитано 3984 раз)
pupapum
Гость
« : Февраля 19, 2008, 11:49 »

Добрый день. Беру пример из хелпа, который осуществляет отображение моего компьютера в дереве.

#include <QApplication>
#include <QDirModel>
#include <QTreeView>

int main(int argc, char **argv)
{
   QApplication app(argc,argv);
   QDirModel model;
   QTreeView tree;
   tree.setModel(&model);
   tree.show();
   return app.exec();
}

Все хорошо работает. Далее хочу назначить фильтер для модели. Пишу: model.setFilter(QDir::Dirs);
Происходит чудо, мое приложение работает всоответствии с моим желанием, но появляются какие-то каталоги, причем в каждом из каталогов, с именем точка и две точки. Как избавиться от этого? Спасибо за внимание.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Февраля 19, 2008, 12:15 »

Добрый день. Беру пример из хелпа, который осуществляет отображение моего компьютера в дереве.

#include <QApplication>
#include <QDirModel>
#include <QTreeView>

int main(int argc, char **argv)
{
   QApplication app(argc,argv);
   QDirModel model;
   QTreeView tree;
   tree.setModel(&model);
   tree.show();
   return app.exec();
}

Все хорошо работает. Далее хочу назначить фильтер для модели. Пишу: model.setFilter(QDir::Dirs);
Происходит чудо, мое приложение работает всоответствии с моим желанием, но появляются какие-то каталоги, причем в каждом из каталогов, с именем точка и две точки. Как избавиться от этого? Спасибо за внимание.


Точа и две точки это собственно свой каталог и каталог на ступень выше.
Используй
model.setFilter( QDir::Dirs | QDir::NoDotAndDotDot );


и читай ассистент. Там все ответы.
Записан
Dodge
Гость
« Ответ #2 : Февраля 19, 2008, 15:49 »

Это так, для справки.

Для расширения возможностей фильтрации, можно использовать QSortProxyFilterModel.

Код:
MyModel * model = new MyModel;
QSortProxyFilterModel * filtermodel = new QSortProxyFilterModel;
QTableView * view = new QTableView;
filtermodel->setSourceModel( model );
view->setModel( filtermodel );

 Смеющийся
Записан
pupapum
Гость
« Ответ #3 : Февраля 19, 2008, 16:39 »

А как ему объяснить, что помимо папок еще html странички отобразить в дереве?
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #4 : Февраля 19, 2008, 17:46 »

А как ему объяснить, что помимо папок еще html странички отобразить в дереве?

Смотри в сторону setNameFilters
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.019 секунд. Запросов: 19.