Первое приложение на PyQt
PyQt
Написал на праздниках, фактически, первое приложение на PyQt - spectranalysis, выложил исходники на GitHub. Сразу отмечу, что это pet project, цель которого в ознакомлении с инструментами.
Прошу покритиковать код.
Предыстория: несколько лет пишу софт для предприятия на C# и WinForms + PostgreSQL, так же экспериментальный софт на Django. Пользователей - примерно 15-20 человек, но коллег-программистов нет, так что воюю в поле один, и код мой никого не интересует. Это сильно огорчает.
Параллельно программирование требуется для моделирования в аспирантуре. На кафедре преимущественно matlab + word, но я как ренегат, практически все выполняю на python (в связке с numpy, scipy, matplotlib, Sage Math) + latex.
Хотелось бы в будущем, при наличии свободного времени, присоединиться к разработке какого-либо открытого проекта, попробовать себя в командной разработке. Пока времени мало, уделил пару дней этому тестовому проекту.
О программе: на вход (Ctrl+O) должен поступать wav-файл с отсчетами квадратурных компонент какого-нибудь радиосигнала. Пример можно скачать из открытого источника (например, wav-файл для сигнала такого-то или wav-файл для другого сигнала). Получив файл, программа строит график спектральной плотности мощности, и спектрограмму.
По ходу разработки, меня расстроило отсутствие в PyQt искаропки виджета для редактирования свойств объекта (в .net это называется PropertyGrid). Вот тут (stackoverflow.com) рекомендуют для этих целей использовать pyqtgraph, да, но мне казалось, что такой популярный инструмент должен быть в стандартной поставке.
P.S. Для запуска main.py в системе требуется: python3, pyqt5, numpy, scipy и matplotlib.
Окружение
Arch, KDE, Cairo Dock, KDE Connect. Последний очень удобен:
- Быстро залить на телефон музыку/слить фотки - приятно, что, Connect, во-первых не лагает как MTP, во-вторых не требует подключения шнуром.
- Отображает уведомления из мессенджеров и sms - очень удобно.
- Ставит воспроизведение фильма на паузу при входящем звонке, по завершению звонка продолжает воспроизведение - чрезвычайно удобно!
Еще скриншоты: krusader, amarok, и традиционный скриншот. Эти же скриншоты на другом хостинге.