Russian Qt Forum
Ноябрь 25, 2024, 00:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QtreeView+QAbstractItemDelegate и отрисовка кнопок expand/collapse  (Прочитано 3410 раз)
MaxoBik
Гость
« : Апрель 10, 2015, 18:52 »

Доброго времени суток, есть такой вопрос - реализовываю свой собственный QAbstractItemDelegate для QtreeView, в методе paint делегата отрисовываю внешний вид, но вот вопрос - как нарисовать expand/collapse иконки, т.е. сейчас вот так:



а надо чтобы были иконки:



мне их необходима самостоятельно отрисовывать в методе paint? И также менять их состояния при событии collapse и expand элемента дерева, или возможно можно как то проще поступить? Буду признателен за любую помощь в этом вопросе.
Записан
Nidxogg
Гость
« Ответ #1 : Апрель 11, 2015, 08:04 »

Qt style sheet не пробовали?
Записан
MaxoBik
Гость
« Ответ #2 : Апрель 11, 2015, 10:32 »

Qt style sheet не пробовали?
Да, пробывал вместо самостоятельного paint-а использовать Qt style sheet CSS, но как закрасить первые row полностью?
Т.е. к примеру :
Код:
 this->setStyleSheet("QTreeView::item { background-color: yellow;  }")

окрашивает не строку полностью:


может есть какой-то правильные селекторы для этого?
« Последнее редактирование: Апрель 11, 2015, 11:58 от MaxoBik » Записан
Bepec
Гость
« Ответ #3 : Апрель 11, 2015, 14:46 »

Правильно вы говорите неправильные селекторы.

Цитировать
The branches of the tree view can be styled using the ::branch subcontrol. The ::branch Sub-control supports the :open, :closed, :has-sibling and :has-children pseudo states.
« Последнее редактирование: Апрель 11, 2015, 15:09 от Bepec » Записан
MaxoBik
Гость
« Ответ #4 : Апрель 11, 2015, 18:11 »

Правильно вы говорите неправильные селекторы.

Цитировать
The branches of the tree view can be styled using the ::branch subcontrol. The ::branch Sub-control supports the :open, :closed, :has-sibling and :has-children pseudo states.

Спасибо за совет, но я уже читал про селектор ::branch, возможно я не четко описал вопрос, вот что я пытаюсь сделать:
мне нужно выделить узлы что не имеют родителей, задать им background цвет и border, как здесь:

но к этому необходимо показывать еще expand/collapse иконки. Со стилями во-первых я не нашел селекторов, которые выделяли бы только узлы без предков, во-вторых ::branch при задании background-color удаляет иконки  expand/collapse, поэтому придется еще и описывать правила стиля и для них, но опять же нет селекторов(или я их не нашел) для узлов у которых нет родителей, тем более для ::branch.
Записан
Bepec
Гость
« Ответ #5 : Апрель 11, 2015, 18:37 »

Ничерта не понял, формулируйте свои мысли точнее Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 21.