Russian Qt Forum

Qt => Model-View (MV) => Тема начата: nvek от Июль 03, 2017, 13:07



Название: отобразить путь вложенности в TableView
Отправлено: nvek от Июль 03, 2017, 13:07
нужно верхнюю строчку сделать, чтобы показывала путь вложенности
сама табличная модель имеет иерархический вид. эта строчка должна при нажатии вернуть на каталог назад, как это проще сделать? не охото в самом контейнер трогать
можно ли как то в классе унаследованном от QAbstractTableModel  как то "раздвинуть" индексы. чтобы в первую строку записать то что мне нужно.
Вот уже день бьюсь не могу сделать это


Название: Re: отобразить путь вложенности в TableView
Отправлено: Авварон от Июль 03, 2017, 14:48
Есть 2 пути - впихнуть под хедер вью виджет (раздвинув место в updateGeometry), либо впихнутьвиджет в сам хедер вью (и далее аналогично)
Вот этот метод поможет, но надо быть с ним аккуратным, так как вьюха уже сама его зовет http://doc.qt.io/qt-5/qabstractscrollarea.html#setViewportMargins


Название: Re: отобразить путь вложенности в TableView
Отправлено: Igors от Июль 03, 2017, 14:54
А унаследоваться от QHeaderView и там дорисовать нужное?


Название: Re: отобразить путь вложенности в TableView
Отправлено: Авварон от Июль 03, 2017, 15:02
Если я правильно помню, вьюха управляет размером хедера, а не он сам (т.е. ей в целом начхать на его sizeHint()). Но это не точно, попробовать стоит.


Название: Re: отобразить путь вложенности в TableView
Отправлено: Igors от Июль 03, 2017, 16:00
Неясно нужна ли "целая строка" чтобы только выскочить на уровень вверх. Где-то "имя фолдера" придется писать, ну там же и переход, комбиком или как.   


Название: Re: отобразить путь вложенности в TableView
Отправлено: kai666_73 от Июль 03, 2017, 16:07
Я бы использовал два виджета: первый (вверху) для навигации, второй (внизу) - сама таблица со спрятанным хидером


Название: Re: отобразить путь вложенности в TableView
Отправлено: nvek от Июль 10, 2017, 06:41
я сместил rowCount на +1 и если есть парент, до дорисовываю вверху путь
костыльно. но работает.