Шаг 86.
Библиотека PyQt5.
Размещение компонентов в окнах. Классы QStackedLayout и QStackedWidget

    На этом шаге мы рассмотрим назначение и основные методы этих классов.

    Класс QStackedLayout реализует стек компонентов; в один момент времени показывается только один компонент, а показ нужного компонента выполняется программно. Иерархия наследования выглядит так:

  (QObject, QLayoutItem) - QLayout - QStackedLayout

    Создать экземпляр класса QStackedLayout можно следующим образом:

  <Объект> = QStackedLayout([<Родитель>])

    В необязательном параметре можно задать ссылку на родительский компонент или контейнер. Если параметр не указан, то необходимо передать ссылку на контейнер в метод setLayout() родительского компонента.

    Класс QStackedLayout поддерживает следующие методы:

    Для удаления и замены компонентов следует пользоваться методами removeWidget() и replaceWidget(), описанными на 81 шаге.

    Класс QStackedLayout поддерживает следующие сигналы:

    Класс QStackedWidget также реализует стек компонентов, но представляет собой компонент, а не контейнер. Иерархия наследования выглядит так:

  (QObject, QPaintDevice) - QWidget - QFrame - QStackedWidget

    Создать экземпляр этого класса можно следующим образом:

  <Объект> = QStackedWidget([<Родитель>])

    Класс QStackedWidget поддерживает методы addWidget(), insertWidget(), removeWidget(), replaceWidget(), count(), currentIndex(), currentWidget(), widget(), setCurrentIndex() и setCurrentWidget(), которые выполняют те же действия, что и одноименные методы в классе QStackedLayout. Кроме того, класс QStackedWidget наследует все методы из базовых классов и определяет два дополнительных метода:

    Чтобы отследить изменения внутри компонента, следует назначить обработчики сигналов currentChanged и widgetRemoved.

    На следующем шаге мы рассмотрим класс QSizePolicy.




Предыдущий шаг Содержание Следующий шаг