17  Графический интерфейс пользователя

17.1 Задания

Tip

Дополнительные бонусы за улучшение внешнего вида приложения (фон, шрифты, взаимное расположение элементов и пр.)

ВНИМАНИЕ!

Демонстрация работоспособности ваших программ по этой теме производится ТОЛЬКО на компьютере преподавателя! Подготовьте свои репозитории, инструкцию по установке и минимальные воспроизводимые примеры.

17.1.1 Задание 1. Калькулятор

Реализуйте простейший калькулятор, который имеет поле для ввода информации, вывода результата и кнопочную панель для ввода цифр и выполнения операций (реализуйте сложение, вычитание, умножение, деление и взятие квадратного корня). Не забудьте валидацию вводимой информации и обработку исключительных ситуаций (деление на 0 и взятие корня от отрицательного числа). Она должна вводится как с клавиатуры, так и кнопочной панели.

17.1.2 Задание 2. Формы учёта-отчёта

Внимание

Можно выполнять как в парах, так и индивидуально. Если задание выполняется в парах, то вклад в реализацию должен быть равным, и это должно быть продемонстрировано преподавателю.

Реализуйте форму для отображения информации о пациентах. Информация о пациентах выводятся в виде таблицы. В таблице должна быть следующая информация о пациенте:

  • ФИО,

  • возраст,

  • пол,

  • рост,

  • вес,

  • индекс массы тела (ИМТ).

Пользователь имеет следующий функционал:

  • добавить пациента,

  • отредактировать информацию о пациенте,

  • вывести сводную статистику.

Сводная статистика заключается в формировании следующих графиков:

  • Распределение пациентов по полу

  • Распределение пациентов по возрасту

  • Распределение ИМТ с учётом пола

  • Зависимость ИМТ от возраста

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

Note

Если лень думать, что вводить, то для генерации первоначальной выборки может пригодиться библиотека faker

17.1.3 Задание 3. Урезанный FastQC

Возьмите модуль из вашего группового проекта, отвечающий за работу с файлами формата fastq, и реализуйте для него работу с графическим интерфейсом. Интерфейс должен иметь специальную опцию для этого формата, запускающий графический интерфейс приложения. Графический интерфейс должен иметь две главные особенности:

  • Выбор файлов для работы через диалог выбора файлов. Должен быть фильтр по форматам файлов. Опционально дополнительная обработка drag and drop.

  • Вывод статистических графиков по файлу.