Russian Qt Forum
Ноябрь 19, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: сортировка Qfilesystemmodel  (Прочитано 2973 раз)
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« : Май 15, 2014, 11:15 »

подскажите как отсортировать qfilesystemmodel представляю модель в qlistview
собственно код в конструкторе
Код:
model1->setRootPath(QDir::currentPath());
    model1->setFilter(QDir::AllDirs | QDir::Files);
    ui->listview->setModel(model1);

собственно метод при двойном клике на элемент
Код:
void MainWindow::on_listView_doubleClicked(QModelIndex index)    // при двойном клике на элемент
{
    QString str=model1->fileInfo(index).absoluteFilePath();
    ui->listView->setRootIndex(model1->index(str)); мы переходим в каталог index
}
так вот мне нужно отсортировать чтоб при открытии каждого каталога папка с ..(переход на каталог выше) была как бы всегда сверху. Так как мне это сделать?
если я делаю вот так
Код:
model1->setRootPath(QDir::currentPath());
    model1->setFilter(QDir::AllDirs | QDir::Files);
model1->sort(0,Qt::AscendingOrder)
    ui->listview->setModel(model1);
то не сортирует..
Записан
_OLEGator_
Гость
« Ответ #1 : Май 15, 2014, 11:39 »

Потому что в модели еще нет элементов, поэтому и не сортирует. Все данные грузятся в потоке.
Полагаю, что можно ловить сигнал directoryLoaded и после него производить сортировку.

Еще можно попробовать обернуть QSortFilterProxyModel.
« Последнее редактирование: Май 15, 2014, 11:42 от _OLEGator_ » Записан
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #2 : Май 15, 2014, 12:57 »

Потому что в модели еще нет элементов, поэтому и не сортирует. Все данные грузятся в потоке.
Полагаю, что можно ловить сигнал directoryLoaded и после него производить сортировку.

Еще можно попробовать обернуть QSortFilterProxyModel.

Те нужно наследоваться и переопределять Qfilsesystemmodel?

и не подскажете конкретно что нужно использовать чтобы сделать через QSortFilterProxyModel ?
какие методы использовать и тд? А то я ни разу не использовал
« Последнее редактирование: Май 15, 2014, 13:07 от koldun90 » Записан
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #3 : Май 15, 2014, 20:30 »

а что нужно прописать чтоб использовать QSortFilterProxyModel?
Записан
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #4 : Май 16, 2014, 12:51 »

я кстати использую версию 4.6 там нет сигнала directoryloaded
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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