Почему и как бы вам не использовать Python GUI Framework и сделать его самостоятельно, как это делают многие приложения, включая Blender? - PullRequest
0 голосов
/ 15 мая 2018

Я посмотрел на несколько Python GUI-фреймворков, таких как PyQt, wxPython и Kivy, но заметил, что не так много популярных (широко используемых) приложений Python, которые, как я могу найти, их используют.

Довольно популярный Blender, похоже, не использует их. Как можно поступить так, как они поступили / чем занимались, и каковы потенциальные выгоды от использования ранее упомянутых платформ?

1 Ответ

0 голосов
/ 18 мая 2018

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

Blender на самом деле не очень хороший пример, так как это не GUI-инфраструктура, это 3D-приложение, которое интегрирует python как средство для манипулирования данными пользователем. Он был запущен более 25 лет назад, когда выбор кроссплатформенных фреймворков был ограничен, поэтому сделать их самостоятельно было проще. Поддержка Python была добавлена ​​в блендер около 13 лет назад. Одним из факторов выбора Blender'а было то, чтобы каждая платформа выглядела одинаково. Это противоречит большинству фреймворков, которые нацелены на реализацию собственного внешнего вида для каждой целевой платформы.

Таким образом, вы создаете свою собственную платформу, когда работа по запуску вашей собственной инфраструктуры кажется проще, чем адаптация существующей платформы к вашим потребностям, или если все существующие платформы не соответствуют вашим потребностям, одной из этих потребностей может быть лицензирование с помощью Qt и wxWidgets оба доступны под (L) GPL, в то время как Qt также продает лицензию не-GPL.

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

...