Skip to content

SaySmokeGraf/example_py_desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Пример десктопного проекта на Python

Пример десктопного проекта на Python для демонстрации кода.

По сути представляет часть дипломного проекта студентов технического ВУЗа. Должен визуализировать рабочие зоны радионавигационных систем с помощью трех различных методов.

Проект выполнялся в качестве дружеской помощи. Выкладывание в открытый доступ с заказчиками согласован с условием вырезания их упоминания.


Техническое задание от заказчика

Цель: Реализация десктопного ПО для визуализации расчетов рабочих зон радионавигационных систем с помощью трех методов.

Подробные требования:

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

  2. Конечный продукт должен представлять собой десктопное ПО с графическим интерфейсом в формате исполняемого exe-файла для Windows.

  3. Функциональные требования:

    • Заголовки окон - с названием ПО. В данном репозитории заголовки изменены на "Рабочие зоны".

    • При запуске в течение какого-то времени должен показываться логотип ПО. Оригинальный логотип в формате jpg вырезан, добавлена заплашка с надписью "Лого".

    • Главное окно должно содержать:

      • 3 вкладки с соответствующими методами. Каждая вкладка независима от остальных.

      • В каждой вкладке - график и изменяемые параметры метода через элементы графического интерфейса. Кроме того, должна быть функция отключения легенды графика.

      • В каждой вкладке - кнопка "Построить" для постоения графика по соответствующему методу. Каждый метод имеет свои параметры, но их объединяет общий принцип, основанный на методе Монте-Карло.

      • График должен содержать: точки маяков, подходящие по методу точки и контур подходящей области (с косвенно заданной точностью в параметрах). У графиков должна быть возможность передвигать, приближать, отдалять картинку, а также менять параметры осей и сохранять результат.

      • Вследствие сильной нагрузки большим количеством точек на графике из-за специфики метода допускаются подвисания при взаимодействии с ним.


Зависимости

  • Python 3.9+ - язык программирования.
  • PyQt5 5.15+ - Qt фреймворк под Python для реализации графического интерфейса.
  • pyqtgraph 0.13.7+ - реализация графиков как Qt виджетов на Python.
  • pillow 10.4+ - для скрипта изменения размера изображения лого.
  • pyinstaller 6.11+ - для сборки exe-файла.

Заметки для разработчика

Использование утилит из _extrautils:

  • .\_extrautils/convert_ui.bat - для конвертации ui в py.
  • python "_extrautils/resize_preview_img.py" - для смены размера изображения лого. Требует, чтобы параметры задавались вручную в теле скрипта как константы.

About

Пример проекта по десктопной разработке на Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published