Шаг 204.
Библиотека PyQt5.
Графическая сцена. Класс QGraphicsScene: сцена. Управление фокусом ввода
На этом шаге мы рассмотрим методы, которые используются для управления фокусом ввода.
Получить фокус ввода с клавиатуры может как сцена в целом, так и отдельный объект на ней. Если фокус установлен на отдельный объект, все события клавиатуры перенаправляются этому объекту.
Чтобы объект мог принимать фокус ввода, необходимо установить флаг ItemIsFocusable, - например, с помощью метода setFlag() класса QGraphicsItem. Для управления фокусом ввода
предназначены следующие методы этого класса:
- setFocus ([focusReason=otherFocusReason]) - устанавливает фокус ввода на сцену. В параметре focusReason можно указать причину изменения фокуса ввода (см. 61 шаг);
- setFocusItem (<QGraphicsItem>[, focusReason=OtherFocusReason]) - устанавливает фокус ввода на указанный графический объект на сцене. Если сцена была вне фокуса ввода, она автоматически
получит фокус. Если в первом параметре указано значение None, или объект не может принимать фокус, то метод просто убирает фокус с объекта, обладающего им в данный момент. В параметре focusReason можно указать причину изменения фокуса ввода (см. 61 шаг);
- clearFocus () - убирает фокус ввода со сцены. Объект, который обладает фокусом ввода в данный момент, потеряет его, но получит его снова, когда фокус будет снова установлен на сцену;
- hasFocus () - возвращает значение True, если сцена имеет фокус ввода, и False - в противном случае;
- focusItem () - возвращает ссылку на объект, который обладает фокусом ввода, или значение None;
- setStickyFocus (<Флаг>) - если в качестве параметра указано значение True, то при щелчке мышью на фоне сцены или на объекте, который не может принимать фокус,
объект, владеющий фокусом, не потеряет его. По умолчанию фокус убирается;
- stickyFocus () - возвращает значение True, если фокус ввода не будет убран с объекта при щелчке мышью на фоне или на объекте, который не может принимать фокус.
На следующем шаге мы рассмотрим управление выделением объектов.
Предыдущий шаг
Содержание
Следующий шаг