Шаг 93.
Библиотека PyQt5.
Размещение компонентов в окнах. Компонент "аккордеон"

    На этом шаге мы рассмотрим класс, который используется для создания указанной конструкции.

    Класс QToolBox позволяет создать компонент с несколькими вкладками. Изначально отображается содержимое только одной вкладки, а у остальных доступны лишь заголовки. После щелчка мышью на заголовке вкладки она открывается, а остальные сворачиваются. Иерархия наследования выглядит так:

  (QObject, QPaintDevice) - QWidget - QFrame - QToolBox

    Конструктор класса QToolBox имеет следующий формат:

  <Объект> = QToolBox([parent = <Родитель>][, flags = <Тип окна>])

    В параметре parent указывается ссылка на родительский компонент. Если параметр не указан или имеет значение None, то компонент будет обладать своим собственным окном. В параметре flags может быть указан тип окна.

    Пример кода, создающего компонент класса QToolBox, представлен ниже. Созданный им "аккордеон" показан на рисунке 1.

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("QToolBox")
window.resize(200, 100)
toolBox = QtWidgets.QToolBox()
toolBox.addItem(QtWidgets.QLabel("Содержимое вкладки 1"), "Вкладка &1")
toolBox.addItem(QtWidgets.QLabel("Содержимое вкладки 2"), "Вкладка &2")
toolBox.addItem(QtWidgets.QLabel("Содержимое вкладки 3"), "Вкладка &3")
toolBox.setCurrentIndex(0)
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(toolBox)
window.setLayout(vbox)
window.show()
sys.exit(app.exec_())
Архив с файлом можно взять здесь.

    Результат работы приложения изображен на рисунке 1.


Рис.1. Пример использования класса QToolBox

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




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