Доработать Python-приложения с GUI
Описание проекта:
Программа на Python с использованием библиотеки DearPyGui. Программа имеет несколько вкладок (модули), каждая из которых выполняет специфические функции. В частности, это обработка изображений и видео, симуляция нажатий клавиш, управление процессом чтения данных с диска и работа с виртуальной клавиатурой. Требуются доработки и исправления в существующем функционале.Задачи:
- Сохранение данных конфигурации:
- Необходимо реализовать корректное сохранение всех состояний интерфейса в файл конфигурации (например, состояние чекбоксов, ползунков, выбранные пути файлов и т.д.).
- Программа должна восстанавливать эти состояния при перезапуске.
- Пример: если пользователь активировал определенные функции через чекбоксы или изменил положение ползунков, эти состояния должны сохраняться и быть восстановлены при следующем запуске программы.
- Переключение языка:
- Переписать логику смены языка в программе так, чтобы не перезапускалось основное окно GUI.
- Необходимо сделать так, чтобы после изменения языка обновлялись только тексты всех элементов интерфейса (заголовки, кнопки, чекбоксы, ползунки и другие элементы), но при этом сама программа не перезагружалась.
- Важно, чтобы эта функция работала во всех модулях программы.
- Работа ползунков для изменения параметров:
- В программе есть несколько ползунков для настройки параметров (например, изменение скорости воспроизведения MIDI-файлов или чувствительности масок при обработке изображений). На данный момент они реализованы только визуально.
- Задача состоит в том, чтобы сделать их рабочими, то есть связать изменения на ползунке с изменением реальных параметров программы.
- Пример: ползунок скорости должен изменять скорость воспроизведения файла в реальном времени и сохранять это значение в конфигурации.
- Симуляция нажатий клавиш:
- В программе есть функция, которая симулирует нажатие клавиш на клавиатуре (например, для автоматизации нажатий при выполнении повторяющихся действий в играх). Однако на данный момент эта функция работает только при активном окне программы.
- Нужно доработать так, чтобы симуляция нажатий клавиш работала на уровне системы, даже если окно программы свёрнуто или неактивно.
- Пример: пользователь назначает клавишу для симуляции через интерфейс программы, и при её нажатии программа должна выполнять действия (например, клик мыши или нажатие клавиши "f") в любой активной системе.
- Ограничение скорости чтения данных с диска:
- В программе реализована функция ограничения скорости чтения данных для определённого процесса. Она работает на основе мониторинга I/O операций с помощью библиотеки
psutil
. - Необходимо исправить текущую реализацию:
- Логика должна корректно измерять и регулировать скорость чтения данных, основываясь на среднем значении скорости за определённый период времени.
- Также нужно добавить возможность динамического изменения скорости с помощью ползунка. Например, если средняя скорость чтения 100 МБ/с, пользователь может уменьшить её до 50%, ограничив скорость до 50 МБ/с.
- В программе реализована функция ограничения скорости чтения данных для определённого процесса. Она работает на основе мониторинга I/O операций с помощью библиотеки
- Оптимизация работы с виртуальной клавиатурой:
- В одном из модулей программы используется виртуальная клавиатура, которая отображает нажатия на клавиши в режиме реального времени. Однако некоторые нажатия могут не отображаться или отображаться с задержкой.
- Нужно оптимизировать эту систему так, чтобы каждое нажатие клавиши моментально отображалось на виртуальной клавиатуре.
- Пример: при симуляции игры на пианино каждая клавиша, на которую было произведено нажатие, должна подсвечиваться на виртуальной клавиатуре, а затем возвращаться в исходное состояние.
- Обработка областей на изображении:
- В одном из модулей программы пользователь может загружать изображение (скриншот) и выделять на нём определённые области, которые будут использоваться для дальнейшей обработки (например, для мониторинга изменений в игре).
- Нужно доработать процесс выделения этих областей, чтобы после выбора областей их координаты должны были сохраняться, чтобы в дальнейшем программа могла отслеживать изменения в этих зонах.
Оплата по безопасной сделке или переводом на карту после предоставления работы на проверку.
Частичьное выполнение задания не принимается, если не можете по какой либо причине его выполнить прошу сообщать сразу и не тянуть время.