Serg
Гость
|
|
« : Ноябрь 18, 2011, 14:02 » |
|
Добрый день всем.
Я ищу решение такой-то проблемы... Есть несколько QGraphicsItem, размещенных на сцене. Они должны работать как переключатели (Radio buttons) (один из них и только один должен быть всегда активным). Етот активный QGraphicsItem должен быть в списке элементов QGraphicsScene::selectedItems () (просто графического отображения того, что он выбран мало, он обязательно должен быть в списке selectedItems () !!!).
Написал я тестовый код, на котором можно поискать решение (вложенные файлы). LCD показывает, сколько выделенных элементов на сцене (выделенных, которые записаны в список selectedItems())
Перегрузки QGraphicsView и переопределение событий миши для контроля за сценой я делал и это помогает. Но я хочу найти объектноориентированное решение, чтобы GraphicsИтемы могли сами себя контролировать.
Проверял работу события QGraphicsItem::ItemSelectedChange. В документации написано, что нужно вернуть требуемое состояние выделения из функции itemChange(). И хотя, если вернуть тру - элемент визуально останется выделенным, но он всеровно удаляется со списка selectedItems().
Сейчас пытаюсь поискать решение с QGraphicsItem наподобие GroupBox для виджетов...
Кто нибудь сталкивался с этой проблемой? Как это можно реализовать?
|