Полный справочник виджетов Qt (PySide6)

Виджет Описание Основные свойства Пример кода
QWidget Базовый виджет, контейнер для других виджетов.
  • setWindowTitle() — заголовок окна
  • resize() — размеры окна
  • show() — отображение виджета
  • setLayout() — установка компоновки
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QWidget пример")
window.resize(400, 200)

layout = QVBoxLayout()
layout.addWidget(QLabel("Виджет QWidget является контейнером"))
window.setLayout(layout)

window.show()
sys.exit(app.exec())
QPushButton Кнопка для нажатия пользователем.
  • text — текст кнопки
  • clicked — сигнал нажатия
  • setEnabled() — активна/неактивна
  • setCheckable() — переключаемая кнопка
from PySide6.QtWidgets import QApplication, QPushButton, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QPushButton пример")

layout = QVBoxLayout()
btn = QPushButton("Нажми меня")
btn.setCheckable(True)
btn.clicked.connect(lambda: print("Нажата кнопка"))
layout.addWidget(btn)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QLabel Метка для отображения текста или изображения.
  • setText() — текст
  • setPixmap() — изображение
  • setAlignment() — выравнивание
  • setWordWrap() — перенос слов
from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtCore import Qt
from PySide6.QtGui import QPixmap
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QLabel пример")

layout = QVBoxLayout()
label_text = QLabel("Привет, QLabel!")
label_text.setAlignment(Qt.AlignCenter)
label_text.setWordWrap(True)

label_image = QLabel()
label_image.setPixmap(QPixmap("example.png"))
label_image.setAlignment(Qt.AlignCenter)

layout.addWidget(label_text)
layout.addWidget(label_image)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QLineEdit Однострочное текстовое поле для ввода данных.
  • setText() — текст
  • setPlaceholderText() — подсказка
  • setReadOnly() — только для чтения
  • textChanged — сигнал изменения текста
from PySide6.QtWidgets import QApplication, QLineEdit, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QLineEdit пример")

layout = QVBoxLayout()
edit = QLineEdit()
edit.setPlaceholderText("Введите текст")
edit.textChanged.connect(lambda t: print(f"Текст изменен: {t}"))
layout.addWidget(edit)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QTextEdit Многострочное текстовое поле с поддержкой форматирования.
  • setText() — текст
  • setReadOnly() — только для чтения
  • append() — добавить текст
  • setFont() — шрифт
from PySide6.QtWidgets import QApplication, QTextEdit, QWidget, QVBoxLayout
from PySide6.QtGui import QFont
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTextEdit пример")

layout = QVBoxLayout()
text = QTextEdit()
text.setFont(QFont("Arial", 12))
text.append("Начальный текст")
layout.addWidget(text)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QCheckBox Флажок для выбора одного или нескольких вариантов.
  • setChecked() — состояние
  • stateChanged — сигнал изменения
  • text — текст флажка
from PySide6.QtWidgets import QApplication, QCheckBox, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QCheckBox пример")

layout = QVBoxLayout()
checkbox = QCheckBox("Выберите меня")
checkbox.stateChanged.connect(lambda s: print(f"Состояние: {s}"))
layout.addWidget(checkbox)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QRadioButton Переключатель для выбора одного варианта из группы.
  • setChecked() — состояние
  • toggled — сигнал переключения
  • text — текст
from PySide6.QtWidgets import QApplication, QRadioButton, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QRadioButton пример")

layout = QVBoxLayout()
radio1 = QRadioButton("Вариант 1")
radio2 = QRadioButton("Вариант 2")
radio1.toggled.connect(lambda checked: print(f"Вариант 1: {checked}"))
radio2.toggled.connect(lambda checked: print(f"Вариант 2: {checked}"))

layout.addWidget(radio1)
layout.addWidget(radio2)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QComboBox Выпадающий список для выбора одного варианта.
  • addItem() — добавить элемент
  • currentIndex — текущий индекс
  • currentText — текущий текст
  • currentIndexChanged — сигнал при изменении выбора
from PySide6.QtWidgets import QApplication, QComboBox, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QComboBox пример")

layout = QVBoxLayout()
combo = QComboBox()
combo.addItem("Вариант 1")
combo.addItem("Вариант 2")
combo.addItem("Вариант 3")
combo.currentIndexChanged.connect(lambda i: print(f"Выбран: {combo.currentText()}"))
layout.addWidget(combo)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QSlider Слайдер для выбора числового значения из диапазона.
  • setMinimum() / setMaximum() — диапазон
  • setValue() — текущее значение
  • setOrientation() — горизонтальный/вертикальный
  • setTickPosition() — деления
  • valueChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QSlider, QWidget, QVBoxLayout
from PySide6.QtCore import Qt
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QSlider пример")

layout = QVBoxLayout()
slider = QSlider(Qt.Horizontal)
slider.setMinimum(0)
slider.setMaximum(100)
slider.setValue(50)
slider.setTickPosition(QSlider.TicksBelow)
slider.setTickInterval(10)
slider.valueChanged.connect(lambda val: print(f"Значение: {val}"))
layout.addWidget(slider)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QSpinBox Поле для ввода целых чисел с кнопками увеличения/уменьшения.
  • setMinimum() / setMaximum() — диапазон
  • setValue() — текущее значение
  • setSingleStep() — шаг изменения
  • valueChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QSpinBox, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QSpinBox пример")

layout = QVBoxLayout()
spin = QSpinBox()
spin.setMinimum(0)
spin.setMaximum(100)
spin.setValue(10)
spin.setSingleStep(5)
spin.valueChanged.connect(lambda val: print(f"Выбрано: {val}"))
layout.addWidget(spin)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QProgressBar Индикатор выполнения задачи.
  • setMinimum() / setMaximum() — диапазон
  • setValue() — текущее значение
  • setFormat() — текстовое отображение
  • setOrientation() — горизонтальный/вертикальный
from PySide6.QtWidgets import QApplication, QProgressBar, QWidget, QVBoxLayout
from PySide6.QtCore import Qt, QTimer
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QProgressBar пример")

layout = QVBoxLayout()
progress = QProgressBar()
progress.setMinimum(0)
progress.setMaximum(100)
progress.setValue(0)
progress.setFormat("Выполнено %p%")
progress.setOrientation(Qt.Horizontal)

def update_progress():
    val = progress.value() + 5
    if val > progress.maximum():
        val = 0
    progress.setValue(val)

timer = QTimer()
timer.timeout.connect(update_progress)
timer.start(500)

layout.addWidget(progress)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QTabWidget Вкладки для организации нескольких страниц контента.
  • addTab(widget, title) — добавить вкладку
  • setTabsClosable() — вкладки можно закрывать
  • currentIndex — текущая вкладка
  • tabCloseRequested — сигнал закрытия вкладки
from PySide6.QtWidgets import QApplication, QTabWidget, QWidget, QVBoxLayout, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTabWidget пример")

layout = QVBoxLayout()
tabs = QTabWidget()

tab1 = QWidget()
tab1_layout = QVBoxLayout()
tab1_layout.addWidget(QLabel("Вкладка 1"))
tab1.setLayout(tab1_layout)

tab2 = QWidget()
tab2_layout = QVBoxLayout()
tab2_layout.addWidget(QLabel("Вкладка 2"))
tab2.setLayout(tab2_layout)

tabs.addTab(tab1, "Вкладка 1")
tabs.addTab(tab2, "Вкладка 2")
tabs.setTabsClosable(True)
tabs.tabCloseRequested.connect(lambda i: print(f"Закрыта вкладка {i}"))

layout.addWidget(tabs)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QTableWidget Таблица с редактируемыми ячейками.
  • setRowCount() / setColumnCount()
  • setHorizontalHeaderLabels()
  • setItem(row, col, QTableWidgetItem)
  • cellChanged
from PySide6.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTableWidget пример")

layout = QVBoxLayout()
table = QTableWidget()
table.setRowCount(3)
table.setColumnCount(2)
table.setHorizontalHeaderLabels(["Имя", "Возраст"])
table.setItem(0, 0, QTableWidgetItem("Алексей"))
table.setItem(0, 1, QTableWidgetItem("25"))
table.setItem(1, 0, QTableWidgetItem("Мария"))
table.setItem(1, 1, QTableWidgetItem("30"))
table.setItem(2, 0, QTableWidgetItem("Иван"))
table.setItem(2, 1, QTableWidgetItem("22"))

table.cellChanged.connect(lambda r,c: print(f"Ячейка {r},{c} изменена"))
layout.addWidget(table)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QListWidget Список элементов с возможностью выбора одного или нескольких элементов.
  • addItem() — добавить элемент
  • addItems() — добавить несколько элементов
  • currentItem() — текущий выбранный элемент
  • itemClicked — сигнал при клике по элементу
from PySide6.QtWidgets import QApplication, QListWidget, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QListWidget пример")

layout = QVBoxLayout()
list_widget = QListWidget()
list_widget.addItems(["Элемент 1", "Элемент 2", "Элемент 3"])
list_widget.itemClicked.connect(lambda item: print(f"Выбран: {item.text()}"))
layout.addWidget(list_widget)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QTreeWidget Дерево элементов с иерархической структурой.
  • setHeaderLabels() — заголовки колонок
  • addTopLevelItem() — добавить корневой элемент
  • addChild() — добавить дочерний элемент
  • itemClicked — сигнал при клике по элементу
from PySide6.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTreeWidget пример")

layout = QVBoxLayout()
tree = QTreeWidget()
tree.setHeaderLabels(["Имя", "Описание"])

parent1 = QTreeWidgetItem(["Раздел 1", "Описание раздела"])
child1 = QTreeWidgetItem(["Подраздел 1", "Описание"])
parent1.addChild(child1)

tree.addTopLevelItem(parent1)
tree.itemClicked.connect(lambda item, col: print(f"Клик по: {item.text(col)}"))
layout.addWidget(tree)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QPlainTextEdit Многострочное текстовое поле без форматирования.
  • setPlainText() — установить текст
  • appendPlainText() — добавить текст
  • setReadOnly() — только для чтения
  • textChanged — сигнал изменения текста
from PySide6.QtWidgets import QApplication, QPlainTextEdit, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QPlainTextEdit пример")

layout = QVBoxLayout()
plain_text = QPlainTextEdit()
plain_text.setPlainText("Начальный текст")
plain_text.textChanged.connect(lambda: print("Текст изменен"))
layout.addWidget(plain_text)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QDateEdit Выбор даты с календарем или вручную.
  • setDate() — текущая дата
  • setMinimumDate() / setMaximumDate()
  • dateChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QDateEdit, QWidget, QVBoxLayout
from PySide6.QtCore import QDate
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QDateEdit пример")

layout = QVBoxLayout()
date_edit = QDateEdit()
date_edit.setDate(QDate.currentDate())
date_edit.dateChanged.connect(lambda date: print(f"Дата изменена: {date.toString()}"))
layout.addWidget(date_edit)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QTimeEdit Выбор времени с кнопками увеличения/уменьшения.
  • setTime() — текущее время
  • timeChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QTimeEdit, QWidget, QVBoxLayout
from PySide6.QtCore import QTime
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTimeEdit пример")

layout = QVBoxLayout()
time_edit = QTimeEdit()
time_edit.setTime(QTime.currentTime())
time_edit.timeChanged.connect(lambda t: print(f"Время изменено: {t.toString()}"))
layout.addWidget(time_edit)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QDateTimeEdit Выбор даты и времени одновременно.
  • setDateTime() — дата и время
  • dateTimeChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QDateTimeEdit, QWidget, QVBoxLayout
from PySide6.QtCore import QDateTime
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QDateTimeEdit пример")

layout = QVBoxLayout()
dt_edit = QDateTimeEdit()
dt_edit.setDateTime(QDateTime.currentDateTime())
dt_edit.dateTimeChanged.connect(lambda dt: print(f"Дата и время изменены: {dt.toString()}"))
layout.addWidget(dt_edit)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QCalendarWidget Календарь для выбора даты.
  • setSelectedDate() — выбранная дата
  • selectionChanged — сигнал изменения выбора
from PySide6.QtWidgets import QApplication, QCalendarWidget, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QCalendarWidget пример")

layout = QVBoxLayout()
calendar = QCalendarWidget()
calendar.selectionChanged.connect(lambda: print(f"Выбрана дата: {calendar.selectedDate().toString()}"))
layout.addWidget(calendar)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QToolBox Контейнер с вкладками в виде панели, только одна видна за раз.
  • addItem(widget, text) — добавить страницу
  • currentIndex — текущая видимая страница
  • currentChanged — сигнал изменения страницы
from PySide6.QtWidgets import QApplication, QToolBox, QWidget, QVBoxLayout, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QToolBox пример")

layout = QVBoxLayout()
toolbox = QToolBox()
page1 = QWidget()
page1_layout = QVBoxLayout()
page1_layout.addWidget(QLabel("Страница 1"))
page1.setLayout(page1_layout)
page2 = QWidget()
page2_layout = QVBoxLayout()
page2_layout.addWidget(QLabel("Страница 2"))
page2.setLayout(page2_layout)

toolbox.addItem(page1, "Вкладка 1")
toolbox.addItem(page2, "Вкладка 2")
toolbox.currentChanged.connect(lambda i: print(f"Текущая страница: {i}"))

layout.addWidget(toolbox)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QGroupBox Группировка виджетов с рамкой и заголовком.
  • setTitle() — заголовок
  • setLayout() — компоновка виджетов внутри
  • setCheckable() — возможность выключать группу
from PySide6.QtWidgets import QApplication, QGroupBox, QWidget, QVBoxLayout, QPushButton
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QGroupBox пример")

layout = QVBoxLayout()
group = QGroupBox("Группа кнопок")
group.setCheckable(True)
group_layout = QVBoxLayout()
group_layout.addWidget(QPushButton("Кнопка 1"))
group_layout.addWidget(QPushButton("Кнопка 2"))
group.setLayout(group_layout)

layout.addWidget(group)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QSplitter Разделитель для изменения размеров соседних виджетов.
  • addWidget() — добавить виджет
  • setOrientation() — горизонтальный/вертикальный
from PySide6.QtWidgets import QApplication, QSplitter, QWidget, QVBoxLayout, QTextEdit
from PySide6.QtCore import Qt
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QSplitter пример")

layout = QVBoxLayout()
splitter = QSplitter(Qt.Horizontal)
splitter.addWidget(QTextEdit("Левая панель"))
splitter.addWidget(QTextEdit("Правая панель"))

layout.addWidget(splitter)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QDial Круговой регулятор для выбора значения.
  • setMinimum() / setMaximum() — диапазон
  • setValue() — текущее значение
  • valueChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QDial, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QDial пример")

layout = QVBoxLayout()
dial = QDial()
dial.setMinimum(0)
dial.setMaximum(100)
dial.setValue(25)
dial.valueChanged.connect(lambda v: print(f"Значение: {v}"))
layout.addWidget(dial)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QScrollArea Область с полосами прокрутки для любого виджета.
  • setWidget() — виджет для прокрутки
  • setWidgetResizable() — автоматическое изменение размера
from PySide6.QtWidgets import QApplication, QScrollArea, QWidget, QVBoxLayout, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QScrollArea пример")

layout = QVBoxLayout()
scroll = QScrollArea()
content = QWidget()
content_layout = QVBoxLayout()
for i in range(20):
    content_layout.addWidget(QLabel(f"Элемент {i+1}"))
content.setLayout(content_layout)

scroll.setWidgetResizable(True)
scroll.setWidget(content)
layout.addWidget(scroll)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QStackedWidget Контейнер, где виден только один виджет за раз. Альтернатива вкладкам.
  • addWidget() — добавить страницу
  • setCurrentIndex() — показать определенную страницу
  • currentChanged — сигнал при смене страницы
from PySide6.QtWidgets import QApplication, QStackedWidget, QWidget, QVBoxLayout, QLabel, QPushButton
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QStackedWidget пример")

layout = QVBoxLayout()
stack = QStackedWidget()

page1 = QWidget()
p1_layout = QVBoxLayout()
p1_layout.addWidget(QLabel("Страница 1"))
page1.setLayout(p1_layout)

page2 = QWidget()
p2_layout = QVBoxLayout()
p2_layout.addWidget(QLabel("Страница 2"))
page2.setLayout(p2_layout)

stack.addWidget(page1)
stack.addWidget(page2)
stack.setCurrentIndex(0)

btn_switch = QPushButton("Переключить страницу")
btn_switch.clicked.connect(lambda: stack.setCurrentIndex(1 if stack.currentIndex()==0 else 0))

layout.addWidget(stack)
layout.addWidget(btn_switch)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QScrollBar Полоса прокрутки (горизонтальная или вертикальная).
  • setOrientation() — горизонтальная/вертикальная
  • setMinimum() / setMaximum() — диапазон
  • setValue() — текущее значение
  • valueChanged — сигнал изменения
from PySide6.QtWidgets import QApplication, QScrollBar, QWidget, QVBoxLayout
from PySide6.QtCore import Qt
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QScrollBar пример")

layout = QVBoxLayout()
scrollbar = QScrollBar(Qt.Horizontal)
scrollbar.setMinimum(0)
scrollbar.setMaximum(100)
scrollbar.setValue(50)
scrollbar.valueChanged.connect(lambda val: print(f"Значение: {val}"))

layout.addWidget(scrollbar)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QCommandLinkButton Крупная кнопка с заголовком и описанием, как в мастерах Windows.
  • setText() — заголовок
  • setDescription() — дополнительное описание
  • clicked — сигнал нажатия
from PySide6.QtWidgets import QApplication, QCommandLinkButton, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QCommandLinkButton пример")

layout = QVBoxLayout()
btn = QCommandLinkButton("Основное действие", "Дополнительное описание")
btn.clicked.connect(lambda: print("Нажата команда"))
layout.addWidget(btn)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QFrame Прямоугольная рамка для визуального оформления и группировки виджетов.
  • setFrameShape() — форма рамки
  • setFrameShadow() — тень рамки
  • setLineWidth() — толщина линии
  • setMidLineWidth() — ширина внутренней линии
from PySide6.QtWidgets import QApplication, QFrame, QWidget, QVBoxLayout, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QFrame пример")

layout = QVBoxLayout()
frame = QFrame()
frame.setFrameShape(QFrame.Box)
frame.setFrameShadow(QFrame.Raised)
frame.setLineWidth(2)
frame.setMidLineWidth(1)

frame_layout = QVBoxLayout()
frame_layout.addWidget(QLabel("Внутри рамки"))
frame.setLayout(frame_layout)

layout.addWidget(frame)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
QToolButton Кнопка с иконкой, часто используется в панелях инструментов.
  • setText() — текст кнопки
  • setIcon() — иконка
  • clicked — сигнал нажатия
  • setToolButtonStyle() — стиль (только иконка, иконка+текст и т.д.)
from PySide6.QtWidgets import QApplication, QToolButton, QWidget, QVBoxLayout
from PySide6.QtGui import QIcon
import sys

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QToolButton пример")

layout = QVBoxLayout()
tool_btn = QToolButton()
tool_btn.setText("Кнопка")
tool_btn.setIcon(QIcon("example.png"))
tool_btn.setToolButtonStyle(3)  # Qt.ToolButtonTextUnderIcon
tool_btn.clicked.connect(lambda: print("Нажата кнопка"))
layout.addWidget(tool_btn)

window.setLayout(layout)
window.show()
sys.exit(app.exec())
QStatusBar Строка состояния в нижней части главного окна для отображения информации.
  • showMessage() — показать текст на определенное время
  • addWidget() — добавить виджет
from PySide6.QtWidgets import QApplication, QMainWindow, QStatusBar
import sys

app = QApplication(sys.argv)
window = QMainWindow()
window.setWindowTitle("QStatusBar пример")

status = QStatusBar()
status.showMessage("Готово", 5000)
window.setStatusBar(status)

window.show()
sys.exit(app.exec())
QMenuBar Меню верхнего уровня для главного окна.
  • addMenu() — добавить меню
  • addAction() — добавить действие
from PySide6.QtWidgets import QApplication, QMainWindow, QMenuBar, QAction
import sys

app = QApplication(sys.argv)
window = QMainWindow()
window.setWindowTitle("QMenuBar пример")

menu_bar = QMenuBar()
file_menu = menu_bar.addMenu("Файл")
file_menu.addAction(QAction("Открыть", window))
file_menu.addAction(QAction("Выход", window))
window.setMenuBar(menu_bar)

window.show()
sys.exit(app.exec())
QToolBar Панель инструментов для быстрого доступа к действиям.
  • addAction() — добавить действие с кнопкой
  • addWidget() — добавить виджет на панель
from PySide6.QtWidgets import QApplication, QMainWindow, QToolBar, QAction
import sys

app = QApplication(sys.argv)
window = QMainWindow()
window.setWindowTitle("QToolBar пример")

toolbar = QToolBar()
toolbar.addAction(QAction("Действие 1", window))
toolbar.addAction(QAction("Действие 2", window))
window.addToolBar(toolbar)

window.show()
sys.exit(app.exec())