Шаг 229.
Библиотека Qt.
Класс QGraphicsScene

    На этом шаге рассмотрим класс сцены QGraphicsScene.

    Класс сцены (QGraphicsScene) является классом для управления элементами без их отображения. Как только какой-либо элемент сцены подвергся изменениям, объект класса QGraphicsScene запоминает его состояние.

    Перед тем как сообщить о необходимости перерисовки, вся область разделяется на подобласти и осуществляется анализ того, в какой из них были выполнены изменения. Эта операция реализуется очень быстро и способна выполняться в режиме реального времени для миллионов элементов.

    Отправкой сигнала changed() объект сцены сообщает представлениям о необходимости отображения измененного содержимого, после чего представления отображают найденные области.

    Объект сцены (QGraphicsScene) является контейнером, содержащим в себе объекты, которые созданы от классов, наследующих QGraphicsItem. Эти объекты являются данными без графического представления. Элементы добавляются в сцену при помощи метода QGraphicsScene::addItem().

    Для добавления элементов в сцену можно воспользоваться методами addEllipse(), addLine(), addPath(), addPixmap(), addPolygon(), addRect() и addText(), которые неявно создадут соответствующий элемент, добавят его и вернут его указатель.

    Для того чтобы получить указатели на все элементы сцены, можно воспользоваться методом QGraphicScene::items(). Если вас интересует один элемент с определенными координатами, то получить указатель на него можно с помощью метода QGraphicScene::itemAt(), который возвращает самый верхний элемент, находящийся на заданных координатах.

    Для создания объекта сцены в конструктор класса QGraphicsScene нужно передать объект прямоугольной области с вещественными параметрами QRectF. Координаты области могут содержать и отрицательные значения.

    На следующем шаге рассмотрим класс QGraphicsView.




Предыдущий шаг Содержание Следующий шаг