Шаг 285.
Библиотека PyQt5.
Создание SDI- и MDI-приложений. MDI-приложения. Класс QMdiSubWindow
На этом шаге мы рассмотрим иерархию наследования этого класса, формат конструктора и перечислим основные методы.
Класс QMdiSubWindow реализует окно, которое может быть отображено внутри MDI-области. Иерархия наследования для него выглядит следующим образом:
(QObject, QPaintDevice) - QWidget - QMdiSubWindow
Формат конструктора класса QMdiSubWindow:
<Объект> = QMdiSubWindow([parent=None][, flags=0])
В параметре parent указывается ссылка на родительское окно. Доступные значения параметра flags мы рассматривали на 25 шаге.
Класс QMdiSubWindow наследует все методы базовых классов и дополнительно поддерживает следующие методы (полный их список доступен на странице
https://doc.qt.io/qt-5/qmdisubwindow.html):
- setWidget (<QWidget>) - помещает компонент в окно;
- widget () - возвращает ссылку на помещенный в окно компонент;
- mdiArea () - возвращает ссылку на MDI-область (экземпляр класса QMdiArea) или значение None;
- setSystemMenu (<QMenu>) - позволяет установить пользовательское системное меню окна вместо стандартного;
- systemMenu () - возвращает ссылку на системное меню окна (экземпляр класса QMenu) или значение None;
- showSystemMenu () - открывает системное меню окна. Метод является слотом;
- setKeyboardSingleStep (<Значение>) - устанавливает шаг изменения размера окна или его положения с помощью клавиш со стрелками. Чтобы изменить размеры окна или
его положение с клавиатуры, необходимо в системном меню окна выбрать пункт Move или Size. Значение по умолчанию - 5;
- setKeyboardPageStep (<Значение>) - устанавливает шаг изменения размера окна или его положения с помощью клавиш со стрелками при удержании нажатой клавиши Shift.
Значение по умолчанию - 20;
- showShaded () - сворачивает содержимое окна, оставляя только заголовок. Метод является слотом;
- isShaded () - возвращает значение True, если отображается только заголовок окна, и False - в противном случае;
- setOption (<Опция>[, on=True]) - если во втором параметре указано значение True, заданная в первом параметре опция будет установлена, а если False - сброшена.
В параметре <Опция> могут быть указаны следующие атрибуты класса QMdiSubWindow:
- RubberBandResize - если опция установлена, при изменении размеров окна станут изменяться размеры вспомогательного компонента, а не самого окна. По окончании изменения размеров будут изменены размеры окна;
- RubberBandMove - если опция установлена, при изменении положения окна станет перемещаться вспомогательный компонент, а не само окно. По окончании перемещения будет изменено положение окна;
- testOption (<Опция>) - возвращает значение True, если указанная опция установлена, и False - в противном случае.
Класс QMdiSubWindow поддерживает следующие сигналы:
- aboutToActivate () - генерируется перед активацией вложенного окна;
- windowStateChanged (<Cтapoe состояние>, <Новое состояние>) - генерируется при изменении состояния окна. Внутри обработчика через параметры доступны целочисленные обозначения старого и нового состояний.
На следующем шаге мы рассмотрим добавление значка приложения в область уведомлений.
Предыдущий шаг
Содержание
Следующий шаг