Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 5.39 KB

File metadata and controls

79 lines (54 loc) · 5.39 KB

Лабораторная работа № 5

GUI

Теория

PyQt

PyQt — это библиотека для создания графических интерфейсов на языке Python, основанная на Qt Framework. Вот основные элементы, с которыми вы будете работать при использовании PyQt:

1. QApplication

Это основной класс, который управляет приложением. Он необходим для создания любого приложения на PyQt. Создается только один экземпляр QApplication в каждом приложении:

import sys
from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)

2. QWidget

Это базовый класс для всех объектов пользовательского интерфейса. QWidget может использоваться для создания окон, диалогов и других виджетов.

3. QMainWindow

Подкласс QWidget, который предоставляет основные возможности для создания главного окна приложения. Он включает в себя меню, статусные строки и панели инструментов.

4. Layouts

Для управления расположением виджетов в окне вы можете использовать различные менеджеры компоновки, такие как:

  • QHBoxLayout — горизонтальное расположение.
  • QVBoxLayout — вертикальное расположение.
  • QGridLayout — сеточное расположение.

5. Widgets

PyQt предоставляет множество встроенных виджетов, которые используют для создания интерфейса:

  • QPushButton — кнопка.
  • QLabel — метка для текста.
  • QLineEdit — однострочное текстовое поле.
  • QTextEdit — многострочное текстовое поле.
  • QComboBox — выпадающий список.
  • QCheckBox и QRadioButton — элементы для выбора.

6. Signals and Slots

Сигналы и слоты — это механизм, который позволяет связывать действия (сигналы) с реакциями (слоты). Это основной способ обработки событий в PyQt. Пример:

button.clicked.connect(some_function)  # при нажатии на кнопку button вызывается функция some_function

7. QDialog

Диалоговые окна, используемые для получения информации от пользователя. Это могут быть простые модальные или немодальные диалоги.

8. QMenuBar и QToolBar

Эти классы создают меню и панели инструментов, предоставляя пользователям доступ к различным функциям вашего приложения.

9. QStatusBar

Используется для отображения служебной информации в нижней части главного окна, например, сообщений о состоянии или прогресса.

10. QTimer

Класс, который позволяет выполнять функции через заданные интервалы времени, что полезно для создания анимации или периодических обновлений интерфейса.

Полезные ссылки

Задание

Создать приложение с графическим интерфейсом, позволяющее просматривать датасет из лабораторной работы №2. Необходимо создать файл main_window.py в котором будет реализован графический интерфейс вашего приложения. Итератор для изображений импортировать из файлов второй лабораторной работы. Сделать возможность выбора папки датасета или файла аннотации (в зависимости от устройства вашего итератора).

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

Для создания графического интерфейса можно использовать Qt Designer.