Название: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 12:25 Здравствуйте такая проблема
когда я использовал QFileSystemModel этот код работал без ошибок переход в папку при двойном клике Код: void MainWindow::on_listView_3_doubleClicked(const QModelIndex &index) код вызывает краш Код: QString str=model1->fileInfo(index).absoluteFilePath(); если модель QFileSystemModel обернута в QSortFilterProxyModel? Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: Пантер от Декабрь 29, 2014, 12:28 Если используешь прокси, нужно корретировать индексы. Смотри mapToSource и mapFromSource.
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 13:18 если я делаю вот так
Код: void MainWindow::on_listView_3_doubleClicked(const QModelIndex &index) то пишет в выводе index from wrong model passed to mapToSource sortmodel--это QSortFilterProxyModel Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 13:32 что можно сделать
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: Пантер от Декабрь 29, 2014, 13:37 Код
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 13:43 а если пишу как выше вы сказали
index must be from the currently set model Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 13:45 Вот полный код
Код: MainWindow::MainWindow(QWidget *parent) : Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: Пантер от Декабрь 29, 2014, 14:05 Не, смотри, в слоте on_tableView_doubleClicked нужно напрямую юзать index, не надо его маппить. А вот если данные какие-то хочешь из модели извлечь по индексу, тогда мапь его.
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 14:28 Код: ui->tableView->setRootIndex(index); Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 29, 2014, 17:15 Вообщем проблема такая запускаю прогу.
Захожу в какой нибудь каталог он этот каталог открывает. Потом нажимаю папку с ..(перехожу обратно). А потом допустим открываю другую папку. У меня модель сбрасывается как бы пустой экран в tableview... А в отладчике пишет информацию Цитировать QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: Нет такого файла или каталога в данном случае я пытался открыть папку /sdfsdfQFileSystemWatcher: failed to add paths: sdfsdf такая папка есть и станд менеджер ее видит) что это может быть? Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: Пантер от Декабрь 30, 2014, 08:08 Обычно такое происходит если нет прав на просмотр данного каталога... С помощью QDir можно посмотреть в нем файлы?
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 30, 2014, 10:36 права на просмотр каталога у меня есть так как я пишу прогу под rootом
я проверил все почему то модель валится не пойму почему хотя все папки в стандартном менеджере открываются в случае если не использовать прокси модель при таком коде Код: void MainWindow::on_tableView_doubleClicked(const QModelIndex &index) model1-QFileSystemModel что можно еще сделать.... Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: Пантер от Декабрь 30, 2014, 11:29 Ну, блин, я же писал
Код
Название: Re: использование QSortFilterProxyModel+QFileSystemModel Отправлено: koldun90 от Декабрь 31, 2014, 10:02 Код: void MainWindow::on_tableView_doubleClicked(const QModelIndex &index) index-- поступает модели Qsortfilterproxymodel Да? |