Название: Дерево каталогов и иконка открытой папки Отправлено: Rain от Февраля 16, 2009, 23:20 Доброго дня,
На форме нужно отобразить дерево каталогов (файлы отображать не нужно, только каталоги). Для этой цели использую QFileSystemModel и QTreeView. Код: fsModel = new QFileSystemModel; И все вроде бы отлично, но есть два "но". Иконка (папка) выбранного каталога не изменяет свое состояние с закрытой на открытую. В случае если в директории нет вложенных директорий (т.е. по иерархии дальше раскрывать нечего), рядом с папкой все равно висит крестик, нажав на который ничего не происходит. Вроде бы и мелочи, но как-то не очень красиво. Эти проблемы можно решить малой кровью? Заранее спасибо, всем ответившим:) Название: Re: Дерево каталогов и иконка открытой папки Отправлено: xintrea от Февраля 16, 2009, 23:52 Сейчас посмотрел как рисуется пример /examples/itemviews/dirview. Иконка открытой/закрытой директории действительно не меняется. А вот пустые директории определяются сами, и возле них плюсика нет. Использую Qt 4.4.1.
Чтоб твои проблемы решить, видимо нужно переделывать делегата ячейки. Делать это ниразу не пробовал, книжки, ассистент и более опытные товарищи тебе помогут. Название: Re: Дерево каталогов и иконка открытой папки Отправлено: Rain от Февраля 17, 2009, 00:01 Сейчас посмотрел как рисуется пример /examples/itemviews/dirview. Иконка открытой/закрытой директории действительно не меняется. А вот пустые директории определяются сами, и возле них плюсика нет. Использую Qt 4.4.1. Да, но проблема в том, что в моем случае пустые директории это те, которые не содержат вложенных директорий. У меня стоит фильтр Код: fsModel->setFilter(QDir::AllDirs | QDir::NoDotAndDotDot); Если в папке нет вложенных директорий, но есть файлы - крестик все равно рисуется. Некрасиво. Чтоб твои проблемы решить, видимо нужно переделывать делегата ячейки. Спасибо, буду смотреть в эту сторону. Хотя вообще странно, казалось бы такая очевидная функциональность:) |