Класс QGraphicsScene

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

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

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

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

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

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

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

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

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий