На этом шаге мы рассмотрим класс, который используется для выполнения указанной операции.
Для создания панели с вкладками ("блокнота") предназначен класс QTabWidget. Панель состоит из области заголовка с ярлыками и набора вкладок с различными компонентами. В один момент времени показывается содержимое только одной вкладки. Щелчок мышью на ярлыке в области заголовка приводит к отображению содержимого соответствующей вкладки.
Иерархия наследования для класса QTabWidget выглядит так:
(QObject, QPaintDevice) - QWidget - QTabWidget
Конструктор класса QTabWidget имеет следующий формат:
<Объект> = QTabWidget([<Родитель>])
В параметре <Родитель> указывается ссылка на родительский компонент. Если параметр не указан, то компонент будет обладать своим собственным окном.
Увидеть пример кода, создающего компонент QTabWidget, можно в примере ниже. Сама панель с вкладками показана на рисунке 1.
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets import sys app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.setWindowTitle("QTabWidget") window.resize(400, 100) tab = QtWidgets.QTabWidget() tab.addTab(QtWidgets.QLabel("Содержимое вкладки 1"), "Вкладка &1") tab.addTab(QtWidgets.QLabel("Содержимое вкладки 2"), "Вкладка &2") tab.addTab(QtWidgets.QLabel("Содержимое вкладки 3"), "Вкладка &3") tab.setCurrentIndex(0) vbox = QtWidgets.QVBoxLayout() vbox.addWidget(tab) window.setLayout(vbox) window.show() sys.exit(app.exec_())
Результат работы приложения изображен на рисунке 1.
Рис.1. Панель с вкладками QTabWidget
На следующем шаге мы закончим изучение этого вопроса.