crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QTreeView/QTreeWidget и список boost::filesystem::path
miksayer
  опции профиля:
сообщение 28.11.2009, 0:08
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 18.1.2009
Пользователь №: 495

Спасибо сказали: 0 раз(а)




Репутация:   0  


насколько сложно будет написать виджет на основе QTreeView(или QTreeWidget), который будет делать примерно следующее: я ему передаю список путей boost::filesystem::path, а он выводит их все в единое дерево? Т.е. например список путей такой:
/dir1/file1/
/dir1/dir2/file2/
/dir1/dir2/file3/
/dir3/file4/
/file5

Все это преобразовывается в такое дерево:
dir1
    file1
    dir2
        file2
        file3
dir3
    file4
file5

С чего вообще начать лучше?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.11.2009, 0:17
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


QDirModel + QTreeView

Пример: Использование моделей и представлений

ОФФТОП: Торрент клиент: Torrent Example
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
miksayer
  опции профиля:
сообщение 28.11.2009, 0:27
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 18.1.2009
Пользователь №: 495

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 28.11.2009, 0:17) *
QDirModel + QTreeView

Пример: Использование моделей и представлений

ОФФТОП: Торрент клиент: Torrent Example

так-с, маленький вопрос:
QDirModel ( const QStringList & nameFilters, QDir::Filters filters, QDir::SortFlags sort, QObject * parent = 0 )

здесь nameFilters - это список файлов? если нет, то где его указывать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.11.2009, 0:32
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(miksayer @ 28.11.2009, 3:27) *
где его указывать?
в данной модели ни где, она видит всю ФС, можно только задать фильтры

К стати, в новых версиях Qt этот пример рассматривается с моделью QFileSystemModel, она гибче, вроде (я с ней не работал)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
miksayer
  опции профиля:
сообщение 28.11.2009, 0:35
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 18.1.2009
Пользователь №: 495

Спасибо сказали: 0 раз(а)




Репутация:   0  


в примере есть такой код:
CODE
tree->setModel(model);
tree->setRootIndex(model->index(QDir::currentPath()));

а свой список файлов для QDirModel задавать можно(т.е. этих файлов реально нет нигде на диске)?

понятно, т.е. мне нужно свою модель писать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.11.2009, 0:39
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ты хочешь использовать произвольные строки, просто выглядящие в стиле пути к файлу?

Если так, то модель прийдется создать свою. Но если строк немного, то можно воспользоваться готовой QStandardItemModel, в которую руками помещать элементы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
miksayer
  опции профиля:
сообщение 28.11.2009, 0:49
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 18.1.2009
Пользователь №: 495

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 28.11.2009, 0:39) *
ты хочешь использовать произвольные строки, просто выглядящие в стиле пути к файлу?

именно так
ладно, буду разбираться, еще раз спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.11.2009, 1:58
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


miksayer, посмотри тему: Справка по кнопкам и тэгам форума
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 28.11.2009, 8:58
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


посмотри в доке
Simple Tree Model Example
там как раз расписано как создавать дерево из подобных к твоим строк... хотя возможно так глубоко копать и не прийдется, если QStandardItemModel подойдет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2020, 21:53