Шаг 279.
Библиотека PyQt5.
Создание SDI- и MDI-приложений. Панели инструментов. Класс QToolBar
На этом шаге мы рассмотрим назначение, иерархию наследования, форматы конструктора и основные методы этого класса.
Класс QToolBar реализует панель инструментов, которую можно перемещать с помощью мыши. Иерархия наследования для него такова:
(QObject, QPaintDevice) - QWidget - QToolBar
Форматы конструктора класса QToolBar:
<Объект> = QToolBar([parent=None])
<Объект> = QToolBar(<Название>[, parent=None])
В параметре parent указывается ссылка на родительский компонент, а в параметре <Название> - название панели, которое отображается в контекстном меню при щелчке
правой кнопкой мыши в области меню, области панелей инструментов или на заголовке прикрепляемых панелей. С помощью контекстного меню можно скрыть или отобразить панель инструментов.
Класс QToolBar наследует все методы базовых классов и поддерживает следующие собственные методы (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qtoolbar.html):
- addAction () - добавляет действие на панель инструментов. Форматы метода:
addAction(<QAction>)
addAction(<Название>) -> QAction
addAction(<QIcon>, <Название>) -> QAction
addAction(<Название>, <Обработчик>) -> QAction
addAction(<QIcon>, <Название>, <Обработчик>) -> QAction
- addSeparator () - добавляет разделитель и возвращает представляющий его экземпляр класса QAction;
- insertSeparator (<QAction>) - добавляет разделитель перед указанным действием и возвращает представляющий разделитель экземпляр класса QAction;
- addWidget (<QWidget>) - позволяет добавить компонент (например, раскрывающийся список). Метод возвращает представляющий компонент экземпляр класса QAction;
- insertWidget (<QAction>, <QWidget>) - добавляет компонент перед указанным действием и возвращает представляющий компонент экземпляр класса QAction;
- widgetForAction (<QAction>) - возвращает ссылку на компонент (экземпляр класса QWidget), который связан с указанным действием;
- clear () - удаляет все действия из панели инструментов;
- setOrientation (<Ориентация>) - задает ориентацию панели в виде следующих атрибутов класса QtCore.Qt:
- Horizontal (или 1) - горизонтальная (значение по умолчанию);
- Vertical (или 2) - вертикальная;
- setAllowedAreas (<Области>) - задает области, к которым можно прикрепить панель инструментов. В качестве параметра указываются атрибуты (или их комбинация через
оператор |):
- LeftToolBarArea (слева),
- RightToolBarArea (справа),
- TopToolBarArea (сверху),
- BottomToolBarArea (снизу) или
- AllToolBarAreas (все области)
класса QtCore.Qt;
- setMovable (<Флаг>) - если в качестве параметра указано значение False, будет невозможно перемещать панель с помощью мыши. Значение True вновь разрешает перемещение панели;
- isMovable () - возвращает значение True, если панель можно перемещать с помощью мыши, и False - в противном случае;
- setFloatable (<Флаг>) - если в качестве параметра указано значение False, панель нельзя будет вынести в отдельное окно. Значение True вновь разрешает выносить панель в окно;
- isFloatable () - возвращает значение True, если панель можно вынести в отдельное окно, и False - в противном случае;
- isFloating () - возвращает значение True, если панель в данный момент вынесена в отдельное окно, и False - в противном случае;
- setToolButtonStyle (<Стиль>) - задает стиль кнопок на панели инструментов. Метод является слотом. В качестве параметра указываются следующие атрибуты класса QtCore.Qt:
- ToolButtonIconOnly (или 0) - отображается только значок;
- ToolButtonTextOnly (или 1) - отображается только текст;
- ToolButtonTextBesideIcon (или 2) - текст отображается справа от значка;
- ToolButtonTextUnderIcon (или 3) - текст отображается под значком;
- ToolButtonFollowStyle (или 4) - зависит от используемого стиля;
- toolButtonStyle () - возвращает стиль кнопок на панели инструментов;
- setIconSize (<QSize>) - задает размеры значков. Метод является слотом;
- iconSize () - возвращает размеры значков (экземпляр класса QSize);
- toggleViewAction() - возвращает объект действия (экземпляр класса QAction), с помощью которого можно скрыть или отобразить панель.
Класс QToolBar поддерживает следующие сигналы (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qtoolbar.html):
- actionTriggered (<QAction>) - генерируется при нажатии кнопки на панели. Внутри обработчика через параметр доступно действие, связанное с этой кнопкой;
- visibilityChanged (<Флаг>) - генерируется при изменении видимости панели. Внутри обработчика через параметр доступно значение True, если панель видима, и False - если скрыта;
- topLevelChanged (<Флаг>) - генерируется при изменении состояния панели. Внутри обработчика через параметр доступно значение True, если панель вынесена в отдельном окне, и False - если прикреплена к области.
На следующем шаге мы рассмотрим класс QToolButton.
Предыдущий шаг
Содержание
Следующий шаг