Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Caduceus от Январь 29, 2009, 12:50



Название: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: Caduceus от Январь 29, 2009, 12:50
Хочется дерево папок отображать немного не в таком виде как по-умолчанию. Хочется разделить отдельные ветки HDD девайсы,  CD  и Removable девайсы. То есть не как обычно - A(Floppy), C:(Local) D:(Local), E:(CD), F:(Local), J:(Removalble). А кто так
 +HDD
    ---+C:
    ---+D:
    ---+F:
  +CD:
    ---+E:
  + Removalble:
    ----J:
    ----Z:

Как это сделать?


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 04, 2009, 15:40
начнём с того что QFileSystemModel это внутренние потраха и работать с этим напрямую чеервато о чём есть предупреждение в файле загловка

Код:
//  W A R N I N G
//  -------------
//
// This file is not part of the Qt API.  It exists purely as an
// implementation detail.  This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.

То что ты хочешь придёться делать руками через QDir



Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: ритт от Февраль 04, 2009, 16:33
нет там такого предупреждения.

а по теме: наверное, наследоваться и переопределять...


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 04, 2009, 17:00
нет там такого предупреждения.
  А если всё же внимательне почитать файл заголовка  может таки найдёться...

Qt\4.3.3\src\gui\dialogs\qfilesystemmodel_p.h


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: Rcus от Февраль 04, 2009, 17:04
*_p.h
nuff said


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: pastor от Февраль 04, 2009, 17:10
Qt\4.3.3\src\gui\dialogs\qfilesystemmodel_p.h

Слышал звон, да не знаю де он...

Это приватные данные класса QFileSystemModel


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 05, 2009, 10:59
Qt\4.3.3\src\gui\dialogs\qfilesystemmodel_p.h
Слышал звон, да не знаю де он...
Это приватные данные класса QFileSystemModel
Давайка про "звон" по подробнее.
описание QFileSystemModel отстусвует в Assistant это раз. Объявление класса находиться в qfilesystemmodel_p.h это два.
Готов выслушать коментарии тех кто знает где "звон".


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: Rcus от Февраль 05, 2009, 11:04
Цитировать
The QFileSystemModel class provides a data model for the local filesystem. More...
 #include <QFileSystemModel>
Inherits QAbstractItemModel.
This class was introduced in Qt 4.4.
Даже не знаю кому больше доверять, своим глазам или вашим доводам... ... ... ... Может мы говорим о разных библиотеках/версиях?


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 05, 2009, 12:19
Скорей всего дело именно в разных версиях у меня Qt 4.3.3


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 05, 2009, 13:50
А тем временем отвликлись от главного вопроса данной темы. ::)
Тут покапался и не сумел найти не в Qt не в бусте способы различить CD\HDD\съёмный


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: BRE от Февраль 05, 2009, 14:00
А тем временем отвликлись от главного вопроса данной темы. ::)
Тут покапался и не сумел найти не в Qt не в бусте способы различить CD\HDD\съёмный
И Qt и boost библиотеки кросс-платформенные, на некоторых платформах нет в привычном тебе понимании таких устройств как CD, HDD (все в общее дерево каталогов мапится).


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 05, 2009, 14:22
И что возможность узнать съёмный\не съёмный есть только в виндах а вниксах такой возможности нет ?


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: BRE от Февраль 05, 2009, 14:37
И что возможность узнать съёмный\не съёмный есть только в виндах а вниксах такой возможности нет ?
Есть, linux через Hal можно узнать.


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: spbtellurian от Февраль 05, 2009, 14:41
а можно по подробнее или ссылку на доку ?


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: BRE от Февраль 05, 2009, 14:43
а можно по подробнее или ссылку на доку ?
Это домашняя страница HAL: http://freedesktop.org/wiki/Software/hal (http://freedesktop.org/wiki/Software/hal)
Наверное проще смотреть такую информацию через файловую систему /sys/block/<имя устройства>/*
Там есть файл removable, если в нем 1, то устройство съемное.


Название: Re: Своё разбиение дерева папок в паре QFileSystemModel-QTtreeView
Отправлено: Caduceus от Февраль 05, 2009, 17:23
О, стали отвечать на тему, на которую я уже отчаялся получить ответ

Вопрос-то собственно звучит - как переобпределить QTreeView чтобы порядок следования сделать своим и как-то разбить на свои группы (на какие - это уже другой вопрос). Ну предположим - хочу диски С и D объединить под общей веткой My - как это сделать?