Как обстоят дела с разработкой Python GUI сегодня (сентябрь / 2010)? - PullRequest
7 голосов
/ 21 сентября 2010

В прошлый раз, когда я видел, графические интерфейсы в Python были чрезвычайно уродливыми, как сегодня?

(видел несколько красивых изображений на изображениях Google, но я не знаю, действительно ли это Python)

Ответы [ 4 ]

7 голосов
/ 21 сентября 2010

Python 2.7 и 3.0 поставляется с тематическими виджетами tk ("ttk"), которые выглядят намного лучше, чем предыдущие версии Tk (хотя, честно говоря, любой компетентный разработчик графического интерфейса может заставить даже более старый Tk выглядеть хорошо). Не позволяйте людям, которые мало знают о Tk, отговорить вас от его использования, это все еще очень жизнеспособный инструментарий для многих, многих задач. Вы не будете создавать клон Photoshop с ним, но сколько людей в любом случае будут писать такие приложения?

Я использовал wxPython в прошлом году и все равно выбрал бы Tkinter вместо него для большинства задач. Tkinter гораздо проще и во многом более мощным. Единственное преимущество, которое имеет wxWidgets, состоит в том, что он имеет больше встроенных виджетов, но я считаю, что многие из них немного ошибочны и сложны в использовании. Для большинства приложений, которые напишет большинство людей, Tkinter по-прежнему является отличным выбором.

Некоторые скриншоты тематических виджетов доступны здесь:

http://code.google.com/p/python-ttk/wiki/Screenshots

Вот снимок экрана приложения Tkinter, использующего тематические виджеты на Mac:

http://www.codebykevin.com/phynchronicity-running.png

2 голосов
/ 21 сентября 2010

Tk is sill является набором инструментов GUI по умолчанию для Python, но он имеет поддержку тем из Python 2.7 / 3.1.Это не так страшно, как раньше.

Однако вы можете использовать несколько хороших альтернатив, которые по-прежнему выглядят лучше (IMHO) и имеют больше функциональных возможностей:

  • wxPython: возможно, наиболее используемый,кроссплатформенность и все, ваши приложения будут выглядеть так же, как нативные.
  • PyQt или, скорее, PySide: привязки для платформы с открытым исходным кодом Nokia Qt.Это больше, чем просто набор инструментов GUI.
  • PyGTK: привязки для библиотек GTK +

Дополнительная информация: http://wiki.python.org/moin/GuiProgramming

1 голос
/ 21 сентября 2010

Думаю, последняя версия Tkinter предлагает родной вид для Macos. WxPython и QT предлагают естественный вид для MacOS, Windows и Linux. GTK довольно уродлив и склонен к сбоям на Mac из-за появления X11.

Конечно, вы можете создать свой собственный графический интерфейс, который я пытаюсь сделать с pygame. Позвольте уточнить, я не делаю библиотеку графического интерфейса, просто графический интерфейс для моего собственного приложения. Я делаю графику в 3D-приложении Blender.

Мой голос за Generic GUI переходит к wxPython, пробовал его, выглядит великолепно, прост в использовании и работает как шарм на разных платформах. Вы также найдете тонны информации об этом. Хорошо интегрируется с opengl, поэтому, если вы хотите использовать экстремальный интерфейс, он может их использовать.

1 голос
/ 21 сентября 2010

В Python есть привязки для Tk, Qt, GTK, wx и многих других.Нет причин, по которым он должен быть хуже, чем другой язык.Вы, вероятно, думаете о графическом интерфейсе, созданном с Tk, который имеет репутацию уродливого.Это не специфично для python, но может быть более распространенным, потому что это очень просто и поставляется с python по умолчанию.

См. Программирование GUI в вики Python для дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...