Шаг 97.
Библиотека PyQt5.
Размещение компонентов в окнах. Область с полосами прокрутки
На этом шаге мы рассмотрим класс, используемые для создания такой области.
Класс QScrollArea реализует область с полосами прокрутки. Если компонент не помещается в размеры области, полосы прокрутки будут отображены автоматически. Иерархия наследования выглядит так:
(QObject, QPaintDevice) - QWidget - QFrame -
QAbstractScrollArea - QScrollArea
Конструктор класса QScrollArea имеет следующий формат:
<Объект> = QScrollArea([<Родитель>])
Класс QScrollArea поддерживает следующие методы (здесь приведены только основные - полный их список представлен на странице https://doc.qt.io/qt-5/qscrollarea.html):
- setWidget (<Компонент>) - помещает компонент в область прокрутки;
- setWidgetResizable (<Флаг>) - если в качестве параметра указано значение True, то при изменении размеров области будут изменяться и размеры компонента.
Значение False запрещает изменение размеров компонента;
- setAlignment (<Выравнивание>) - задает местоположение компонента внутри области, когда размеры области больше размеров компонента:
scrollArea.setAlignment(QtCore.Qt.AlignCenter)
- ensureVisible (<X>, <Y>[, xMargin=50] [, yMargin=50]) - прокручивает область к точке с координатами (<X>, <Y>) и полями xMargin и yMargin;
- ensureWidgetVisible (<Компонент>[, xMargin=50] [, yMargin=50]) - прокручивает область таким образом, чтобы <Компонент> был видим;
- widget () - возвращает ссылку на компонент, который расположен внутри области, или значение None;
- takewidget () - удаляет компонент из области и возвращает ссылку на него. Сам компонент не удаляется.
Класс QScrollArea наследует следующие методы из класса QAbstractScrollArea (здесь перечислены только основные - полный их список представлен на странице https://doc.qt.io/qt-5/qabstractscrollarea.html):
- horizontalScrollBar () - возвращает ссылку на горизонтальную полосу прокрутки (экземпляр класса QScrollBar);
- verticalScrollBar () - возвращает ссылку на вертикальную полосу прокрутки (экземпляр класса QScrollBar);
- setHorizontalScrollBarPolicy (<Peжим>) - устанавливает режим отображения горизонтальной полосы прокрутки;
- setverticalScrollBarPolicy (<Peжим>) - устанавливает режим отображения вертикальной полосы прокрутки. В параметре <Peжим> могут быть указаны
следующие атрибуты из класса QtCore.Qt:
- scrollBarAsNeeded (или 0) - полоса прокрутки отображается только в том случае, если размеры компонента больше размеров области;
- ScrollBarAlwaysOff (или 1) - полоса прокрутки никогда не отображается;
- ScrollBarAlwaysOn (или 2) - полоса прокрутки всегда отображается.
Со следующего шага мы начнем рассматривать основные компоненты библиотеки PyQt5.
Предыдущий шаг
Содержание
Следующий шаг