Название: [РЕШЕНО]Боковое меню ввиде дерева Отправлено: Larry от Ноябрь 26, 2017, 14:55 Добрый день, форумчане.
Необходимо реализовать боковое меню ввиде дерева. Возник вопрос, как у QTreeWidget поменять индикаторы свертывания/развертывания... Сделать необходимо, что-то типа такого как на рисунке. Я так понимаю что это необходимо делать через делегаты?! Или я ошибаюсь и можно как-то по другому? Спасибо. Название: Re: Боковое меню ввиде дерева Отправлено: gil9red от Ноябрь 27, 2017, 09:20 Через стили, я думаю, можно иконку поменять: https://stackoverflow.com/questions/16018974/qtreeview-remove-decoration-expand-button-for-all-items
Еще, думаю, попробовать через DecorationRole изменить. (тогда и через какой-нибудь item.setIcon у сложных моделей будет работать) Название: Re: Боковое меню ввиде дерева Отправлено: Larry от Ноябрь 27, 2017, 09:36 Спасибо большое. Попробую.
Название: Re: Боковое меню ввиде дерева Отправлено: sergek от Ноябрь 27, 2017, 10:14 Может, так:
Код
Название: Re: Боковое меню ввиде дерева Отправлено: Larry от Ноябрь 27, 2017, 15:56 Здесь надо поменять внешний вид изображения сворачивания/разворачивания ("птички вправо/вниз")...И как писал выше gil9red - это можно сделать через стили...еще не пробовал, но в стилях есть свойство branch и там можно поменять изображения "branch-open.png" и "branch-closed.png".
Название: Re: Боковое меню ввиде дерева Отправлено: Larry от Ноябрь 27, 2017, 15:59 В примерах по стилям как раз есть замена изображений в ветках:
http://doc.qt.io/qt-5/stylesheet-examples.html Название: Re: Боковое меню ввиде дерева Отправлено: Larry от Ноябрь 27, 2017, 19:35 Попробовал, как в примерах и все заработало.
В стилях QTreeWidget прописал следующее: Код: QTreeView::branch:has-children:!has-siblings:closed, |