Описание класса QGraphicsItemGroupКласс QGraphicsItemGroup предоставляет контейнер, который рассматривает группу элементов в качестве единого элемента. Далее... #include <QGraphicsItemGroup> Унаследован от: QGraphicsItem. Класс был добавлен в Qt 4.2. Открытые функции
Переопределённые открытые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QGraphicsItemGroup предоставляет контейнер, который рассматривает группу элементов в качестве единого элемента. QGraphicsItemGroup это специальный тип объединённого элемента, который рассматривает себя и всех своих потомков как один элемент (т.е. все элементы и геометрии для всех элементов объединяются вместе). Группы элементов обычно используются в инструментах представления, когда пользователь хочет сгруппировать несколько маленьких элементов в один большой, чтобы упростить перемещение и копирование элементов. Если вы хотите только хранить элементы внутри других элементов, вы можете использовать любой QGraphicsItem непосредственно, передавая подходящего родителя функции setParentItem(). Функция boundingRect() QGraphicsItemGroup возвращает ограничивающий прямоугольник всех элементов группы. QGraphicsItemGroup игнорирует флаг ItemIgnoresTransformations на своих дочерних элементах (т.е. по отношению к геометрии элемента группы дочерние элементы трактуются, как будто они могут быть подвергнуты преобразованиям). Есть два способа создать группу элементов. Простейший и наиболее распространённый подход это передать список элементов (например, все выделенные элементы) в QGraphicsScene::createItemGroup(), которая возвращает новый элемент QGraphicsItemGroup. Другой подход это вручную создать элемент QGraphicsItemGroup, добавить его на сцену вызвав QGraphicsScene::addItem(), а затем добавить элементы в группу вручную, по-одному, вызывая addToGroup(). Чтобы разобрать ("разгруппировать") группу элементов, вы можете или вызвать QGraphicsScene::destroyItemGroup(), или вручную удалить все элементы из группы вызывая removeFromGroup(). // Группируем все выделенные элементы вместе QGraphicsItemGroup *group = scene->createItemGroup(scene->selecteditems()); // Уничтожаем группу и удаляем элемент группы scene->destroyItemGroup(group); Операции добавления и удаления элементов сохраняет их положения и преобразования относительно сцены, в отличие от setParentItem(), где сохраняются позиции и преобразования элементов только относительно родителя. Функция addtoGroup() заменяет родителя указанного элемента на элемент этой группы, сохраняя его положение и преобразование по отношению к сцене неизменными. Визуально это означает, что элементы, добавленные с помощью addToGroup(), будут сохранятся полностью неизменными в результате этой операции, независимо от текущего положения или преобразования элемента или группы; хотя положение и матрица элемента скорее всего изменятся. Функция removeFromGroup() имеет похожую на setParentItem() семантику; она изменяет родителя элемента на родительский элемент группы. Также и с addToGroup(), положение и преобразование элемента по отношению к сцене сохраняются неизменными. Смотрите также QGraphicsItem и Каркас графического представления. Описание функций-членовQGraphicsItemGroup::QGraphicsItemGroup ( QGraphicsItem * parent = 0 )Создаёт QGraphicsItemGroup. parent передаётся в конструктор QGraphicsItem. Смотрите также QGraphicsScene::addItem(). QGraphicsItemGroup::~QGraphicsItemGroup ()Уничтожает QGraphicsItemGroup. void QGraphicsItemGroup::addToGroup ( QGraphicsItem * item )Добавляет заданный элемент item и его дочерние элементы в группу элементов. У элемента и дочерних элементов родителем станет эта группа, но их позиция и преобразование относительно сцены останутся нетронутыми. Смотрите также removeFromGroup() и QGraphicsScene::createItemGroup(). QRectF QGraphicsItemGroup::boundingRect () const [virtual]Переопределено из QGraphicsItem::boundingRect(). Возвращает ограничивающий прямоугольник данного элемента группы, и всех его дочерних элементов. bool QGraphicsItemGroup::isObscuredBy ( const QGraphicsItem * item ) const [virtual]Переопределено из QGraphicsItem::isObscuredBy(). QPainterPath QGraphicsItemGroup::opaqueArea () const [virtual]Переопределено из QGraphicsItem::opaqueArea(). void QGraphicsItemGroup::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]Переопределено из QGraphicsItem::paint(). void QGraphicsItemGroup::removeFromGroup ( QGraphicsItem * item )Удаляет указанный элемент item из этой группы. Родителем элемента станет родительский элемент этой группы или 0, если у группы нет родителя. Его позиция и преобразование по отношению к сцене останутся неизменными. Смотрите также addToGroup() и QGraphicsScene::destroyItemGroup(). int QGraphicsItemGroup::type () const [virtual]Переопределено из QGraphicsItem::type(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |