Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: 0x0001 от Апрель 01, 2010, 09:17



Название: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: 0x0001 от Апрель 01, 2010, 09:17
как в QDirView но надо 4 статуса (4 рисунка) вместо 2х:

1. фокус мыши над элементом : папка  подсвечена
2. Узел не содержит элементов : папка серого цвета

остальное как у QDirView:

2. узел развёрнут : папка открыта
3. узел свёрнут : папка закрыта
...


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: Kolobok от Апрель 01, 2010, 10:11
Читай про Qt Style Sheets


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: 0x0001 от Апрель 01, 2010, 11:00
Читай про Qt Style Sheets
Customizing QAbstractScrollAre & Customizing QTreeView,
Спасибо что надо.....


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: cya-st от Апрель 01, 2010, 22:06
Скорее всего тебе модель или делегат писать нужно.
Цитировать
Узел не содержит элементов : папка серого цвета
Style Sheets с этим явно не справится.


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: Kolobok от Апрель 02, 2010, 18:36
Скорее всего тебе модель или делегат писать нужно.
Цитировать
Узел не содержит элементов : папка серого цвета
Style Sheets с этим явно не справится.

Список псевдо-состояний
...
:has-children Элемент имеет дочерние элементы. Например, элемент в QTreeView, который имеет дочерние элементы.


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: cya-st от Апрель 02, 2010, 19:14
Скорее всего тебе модель или делегат писать нужно.
Цитировать
Узел не содержит элементов : папка серого цвета
Style Sheets с этим явно не справится.

Список псевдо-состояний
...
:has-children Элемент имеет дочерние элементы. Например, элемент в QTreeView, который имеет дочерние элементы.
Кинь пример, как сделать узел серого цвета, если он пустой.


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: Kolobok от Апрель 03, 2010, 11:02
Код:
QTreeView::branch:!:has-children {
  image: url(no-children.png);
}


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: cya-st от Апрель 03, 2010, 11:24
Код:
QTreeView::branch:!:has-children {
  image: url(no-children.png);
}
У меня почемуто не работает.


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: cya-st от Апрель 03, 2010, 11:31
Я сделал похожее через модель, через StyleSheet было бы полезно.


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: Kolobok от Апрель 03, 2010, 12:05
Опечатался немного
Код:
QTreeView::branch:!has-children {
  image: url(no-children.png);
}


Название: Re: QTreeView: как сделать своё графическое отображение узлов ветви ?
Отправлено: cya-st от Апрель 03, 2010, 12:12
Работает. Спасибо. Попробую вместо модели применить.