Название: QGraphicsScene выделение items [решено] Отправлено: daimon от Ноябрь 28, 2011, 20:08 Как изменить вид выделения элементов сцены с пунктирного лассо на затемнение?
Название: Re: QGraphicsScene выделение items Отправлено: iroln от Ноябрь 28, 2011, 20:14 Переопределить метод paint в классе графического элемента и рисовать как захочется.
Код
Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 28, 2011, 20:18 Переопределить метод paint в классе графического элемента и рисовать как захочется. да нокак быть тогда со стандартным решение выделения итема? ведь флаг на выделение стоит Название: Re: QGraphicsScene выделение items Отправлено: iroln от Ноябрь 28, 2011, 20:19 daimon, не пускать событие дальше.
У меня вот так было сделано: Код
Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 28, 2011, 20:23 daimon, не пускать событие дальше. я имею в виду, что может есть та самая функция, которая и рисует лассо и может её надо как-то перерисовать. Смотрю пример Qt, связанный с рисование диаграмм, там вообще для итема нет функции paint только так рисуется элемент Код
Название: Re: QGraphicsScene выделение items Отправлено: iroln от Ноябрь 28, 2011, 20:32 Это не отрисовка, а задание модели полигона, отрисовка всё равно происходит в методе paint. Функция, которая рисует штрих-пунктир скорее всего зарыта где-то в стандартной реализации класса QGraphicsItem и вызывается внутри него в стандартной реализации метода paint. Можно посмотреть в исходники Qt, чтобы сказать точно, как это сделано.
Название: Re: QGraphicsScene выделение items Отправлено: iroln от Ноябрь 28, 2011, 20:35 О, кстати, может можно сделать это через CSS? :)
Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 28, 2011, 20:38 Это не отрисовка, а задание модели полигона, отрисовка всё равно происходит в методе paint. Функция, которая рисует штрих-пунктир скорее всего зарыта где-то в стандартной реализации класса QGraphicsItem и вызывается внутри него в стандартной реализации метода paint. Можно посмотреть в исходники Qt, чтобы сказать точно, как это сделано. ну как бы то да, я просто хотел показать как идёт иниционализация итема))) Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 28, 2011, 20:44 хочу эту штуку использовать для проги поиска минимального пути в графе, при редактировании матрицы весов должны подсвечиваться узлы, самый простой вариант просто выделять нужные итемы
ха но тут другая проблема появилась как выделить программно итем? если не ошибаюсь метод setSelected(true); Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 28, 2011, 20:54 О, кстати, может можно сделать это через CSS? :) вот это вообще круто, я как-то один раз так настроил сплиттер, что при фокусе менялся градиент на нём Название: Re: QGraphicsScene выделение items Отправлено: iroln от Ноябрь 28, 2011, 21:45 Цитировать хочу эту штуку использовать для проги поиска минимального пути в графе, при редактировании матрицы весов должны подсвечиваться узлы, самый простой вариант просто выделять нужные итемы Делал я когда-то подобную программку. :) Проще всего изменять вид элементов - это менять их цвет/альфу через методы элемента (setPen/setBrush).Программно выделять через setSelected(true). А через CSS, да, было бы классно настраивать вид элементов, но я не знаю как это делать. Как-то не приходилось. Название: Re: QGraphicsScene выделение items Отправлено: daimon от Ноябрь 29, 2011, 16:17 Для это надо разработать систему энамов, чтобы потом в paint их отлавливать и подсвечивать итем
|