Существует так много фреймворков для написания приложений с графическим интерфейсом на Python. Но есть ли одна ключевая стандартная структура? Например, у нас есть пакет .NET / C # в Visual Studio.
Я думаю и в других ракурсах. В будущем, если я дам интервью для работы программиста на Python, какой графический интерфейс будет рассматриваться?
Мне также интересно, что не существует IDE, которая объединяет GUI и язык Python. Выбор аромата хорош, но чрезмерный выбор отвлекает.
Ответы:
Вы можете писать приложения Win32 API GUI на Python, если вам нравится писать весь этот шаблонный код: проект PyWin32
Лично мне нравится wxPython . Он кроссплатформенный (полностью поддерживается как в Linux, так и в Windows) и существует уже довольно давно ... приличная база поддержки и множество документации / примеров кода. Если вы хотите использовать это, взгляните на BoaConstructor . Это IDE для wxPython (или, лучше сказать, IDE, написанная для и для wxPython). Это единственная RAD IDE, специально предназначенная для Python, о которой я даже упомянул, за исключением редактора Qt UI (редактор UI Qt можно использовать как для C ++, так и для PyQT).
Как Питер упомянул в своем ответе, Tk является графическим интерфейсом defacto для старых приложений Python, но на самом деле они не выглядят настолько привлекательными для конечного пользователя. Для него есть несколько расширений, которые делают его немного лучше и предоставляют возможность стилизовать пользовательский интерфейс, но если вы не поддерживаете старое приложение с графическим интерфейсом, я бы не стал возиться с этим.
pyGTK, также уже упомянутый, был бы другим хорошим выбором. Он также кроссплатформенный, хотя я не имел никакого личного опыта разработки GTK для Windows. Python был бы лучшим выбором, IMO - я думаю, что графический интерфейс пользователя, созданный с библиотекой Qt, выглядит и функционирует лучше, чем у GTK. Я также считаю, что с механизмом обработки сигналов / слотов Qt проще работать. YMMV.
На самом деле не существует никакого стандарта для разработки Python GUI, по крайней мере, я не видел, но из моих коллег-разработчиков Python, с которыми я работал на протяжении многих лет, они предложили мне wxPython и PyQT больше, чем любой другой. инструментарии. Честно говоря, я не уверен, что существует какое-то значительное количество позиций разработки Python GUI. Большая часть разработки Python, которую я делал в течение многих лет, была на стороне сервера, но это не значит, что сейчас не существует различных предприятий, которые ищут пути с открытым исходным кодом для своих приложений с графическим интерфейсом.
источник
Tk раньше был стандартом, но он, возможно, упрощен и безобразен. Затем Qt стал довольно популярным. Gtk также возможен, и это охватывает фавориты на платформах Linux-ish.
Но вы правы, на самом деле нет простого ответа. В конце концов, чрезмерный выбор довольно распространен в мире открытого кода.
источник
Не существует «стандарта», и я согласен - множество вариантов - это боль. Что касается интегрированной IDE «двухсторонние инструменты» для Python GUI, я также удивляюсь, почему, кажется, их там нет - возможно, потому, что существует так много наборов инструментов GUI, которые никто не хочет вкладывать в IDE только для одного из их.
При этом PyQt 4.7 с P3k предоставит вам замечательный графический интерфейс (а также множество других мощных функций). См. Http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/introduction.html - «Это справочное руководство для PyQt 4.8.4. PyQt v4 - это набор привязок Python для v4 Qt каркас приложения от Nokia. "
PyQt широко используется, и есть несколько хороших книг по нему: см. Среди прочего http://www.qtrac.eu/pyqtbook.html «Быстрое программирование с помощью Python и Qt GUI» (книга немного устарела - требует обновления для P3k).
Есть два серьезных вопроса с PyQt:
1) Он имеет некоторые явно «непитонные» характеристики, будучи просто тонкой оболочкой для библиотек C ++ Qt. Но я рекомендовал P3k-PyQt 4.7, потому что некоторые из них были рассмотрены в «последних и самых лучших» пакетах. Проверьте этот пост:
Проблемы с PyQt
2) За коммерческое использование взимаются довольно высокие лицензионные сборы, как для PyQt, так и для Qt.
Перспективной альтернативой PyQt является PySide от Nokia, еще одна оболочка Python для Qt, которая является полностью открытым исходным кодом (хотя и не включает лицензирование Qt).
Знание о Qt не является плохой вещью на рынке, и вы получите это от PyQt, поэтому я бы серьезно (или PySide) серьезно подумал, если вы пытаетесь выбрать одну платформу GUI, чтобы стать экспертом в ,
Независимо от того, что вы выберете, я бы рекомендовал избегать использования tkinter по большей части, даже несмотря на то, что он «из коробки» с Python, потому что он чрезвычайно ограничен, а IMO имеет грубый, устаревший внешний вид.
НТН
источник
pyGTK плодовит. Он довольно прост в использовании и делает графический интерфейс не таким уж плохим.
источник
Gtk3 является структурой GUI, которая является очень зрелой. Он имеет родные привязки Python (GObject Introspection) и множество документации . Если вы делаете совсем немного GUI, подумайте об использовании Anjuta . Anjuta имеет интерфейс перетаскивания, чтобы легко настроить виджеты.
WxWidgets довольно хорош, однако нет простого способа динамически генерировать обратные вызовы Python, как это делает Anjuta для Gtk.
PyGtk теперь не рекомендуется в пользу привязок Gtk3 к Python (GObject Introspection)
PyQt также является игроком в Python GUI, но у него нет большого сообщества.
BoaConstructor дольше поддерживается и будет глупо использовать.
источник