Шаг 214.
Библиотека PyQt5. Графическая сцена. Класс QGraphicsItem: базовый класс для графических объектов. Настройка объекта
На этом шаге мы перечислим методы, используемые для настройки объекта.
Для настройки различных параметров объекта предназначены следующие методы класса QGraphicsItem (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qgraphicsitem.html):
- setPos () - задает позицию объекта относительно родителя или сцены (при отсутствии родителя). Форматы метода:
setPos(<X>, setPos(<QPointF>)
- pos () - возвращает экземпляр класса QPointF с текущими координатами относительно родителя или сцены (при отсутствии родителя);
- scenePos () - возвращает экземпляр класса QPointF с текущими координатами относительно сцены;
- sceneBoundingRect () - возвращает экземпляр класса QRectF, который содержит координаты (относительно сцены) и размеры прямоугольника, ограничивающего объект;
- setX (<X>) и setY (<Y>) - задают позицию объекта по отдельным осям;
- х () и у () - возвращают позицию объекта по отдельным осям;
- setZValue (<Z>) - задает позицию объекта по оси Z. Объект с большим значением этого параметра рисуется выше объекта с меньшим значением. По умолчанию для всех
объектов значение позиции по оси Z равно 0.0;
- zValue () - возвращает позицию объекта по оси Z;
- moveBy (<По оси X>, <По оси Y>) - сдвигает объект на указанное смещение относительно текущей позиции;
- prepareGeometryChange () - этот метод следует вызвать перед изменением размеров объекта, чтобы поддержать индекс сцены в актуальном состоянии;
- scene () - возвращает ссылку на сцену (экземпляр класса QGraphicsScene) или значение None, если объект не помещен на сцену;
- setFlag (<Флаг> [, enabled=True]) - устанавливает (если второй параметр имеет значение True) или сбрасывает (если второй параметр имеет значение False)
указанный флаг. В первом параметре могут быть указаны следующие атрибуты класса QGraphicsItem
(здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qgraphicsitem.html#GraphicsItemFlag-enum):
- ItemIsMovable (или 0x1) - объект можно перемещать с помощью мыши;
- ItemIsSelectabie (или 0x2) - объект можно выделять;
- ItemIsFocusable (или 0x4) - объект может получить фокус ввода;
- ItemIgnoresTransformations (или 0x20) - объект игнорирует наследуемые преобразования;
- ItemIgnoresParentOpacity (или 0x40) - объект игнорирует прозрачность родителя;
- ItemDoesntPropagateOpacityToChildren (или 0x80) - прозрачность объекта не распространяется на потомков;
- ItemStacksBehindParent (или 0x100) объект располагается позади родителя;
- ItemIsPanel (или 0x4000) - объект является панелью;
- setFlags (<Флаги>) - устанавливает сразу несколько флагов. Атрибуты (см. описание метода setFlag()) указываются через оператор |;
- flags () - возвращает комбинацию установленных флагов (см. описание метода setFlag());
- setOpacity (<Число>) - задает степень прозрачности объекта. В качестве значения указывается вещественное число от 0.0 (полностью прозрачный) до 1.0 (полностью непрозрачный);
- opacity () - возвращает степень прозрачности объекта;
- setToolTip (<Teкст>) - задает текст всплывающей подсказки;
- setCursor (<Kypcop>) - задает внешний вид указателя мыши при наведении указателя на объект (см. 70 шаг);
- unsetCursor () - отменяет изменение указателя мыши;
- setVisible (<Флаг>) - если в качестве параметра указано значение True, то объект будет видим. Значение False скрывает объект;
- show () - делает объект видимым;
- hide () - скрывает объект;
- isVisibie () - возвращает значение True, если объект видим, и False - если скрыт;
- setEnabled (<Флаг>) - если в качестве параметра указано значение True, объект будет доступен. Значение False делает объект недоступным. Недоступный объект не получает никаких событий, и его нельзя выделить;
- isEnabled () - возвращает значение True, если объект доступен, и False - если недоступен;
- setSelected (<Флаг>) - если в качестве параметра указано значение True, объект будет выделен. Значение False снимает выделение. Чтобы объект можно было выделить, не обходимо установить флаг ItemIsSelectable, например,
с помощью метода setFlag() класса QGraphicsItem;
- isSelected () - возвращает значение True, если объект выделен, и False - в противном случае;
- setFocus( [focusReason=otherFocusReason]) - устанавливает фокус ввода на объект. В параметре focusReason можно указать причину изменения фокуса ввода (см. 61 шаг).
Чтобы объект мог принимать фокус ввода, необходимо установить флаг ItemIsFocusable, например, с помощью метода setFlag() класса QGraphicsItem;
- clearFocus () - убирает фокус ввода с объекта;
- hasFocus () - возвращает значение True, если объект находится в фокусе ввода, и False - в противном случае;
- grabKeyboard () - захватывает ввод с клавиатуры;
- ungrabKeyboard () - освобождает ввод с клавиатуры;
- grabMouse () - захватывает мышь;
- ungrabMouse () - освобождает мышь.
На следующем шаге мы рассмотрим выполнение преобразований.
Предыдущий шаг
Содержание
Следующий шаг