Можно ли создать собственный графический интерфейс с Python

Я еще не получил достаточно много возможностей для Python, чтобы сделать GUI еще, поэтому я подумал, что попрошу здесь. Можно ли создать приложение python с графическим интерфейсом по умолчанию в стиле Windows, или у него будет свой собственный стиль? Единственные скриншоты, которые я видел в приложении python, работающем с графическим интерфейсом, имели этот уродливый win95.

Ответы

Ответ 1

Существуют привязки Python для каждого основного инструментария: GTK +, Qt, Tk, win32/MFC (не интересно использовать напрямую), wx (который, в свою очередь, использует различные другие инструментальные средства), Windows.Forms(через IronPython)... так что, короче говоря, да, возможно.

Если вы точно определяете, что должно выглядеть "native" на какой платформе, кто-то, вероятно, может сказать вам, что именно вы хотите. Мой любимый инструментарий GUI - это GTK (используя PyGTK), который является родным для Gnome и выглядит довольно хорошо для меня в Windows.

Ответ 2

"Уродливый" вид Windows 95 определяется версией библиотеки Common Dialog.

Поставка файла манифеста с исполняемым файлом (возможно, с вашей реализацией на Python) делает использование Windows визуальных стилей вместо "уродливого" вида.

Подробнее здесь: http://msdn.microsoft.com/en-us/library/ms997646.aspx

Ответ 3

Вы (и остальная часть мира, действительно;)) должны взглянуть на PyGUI, Грег Юинг. По его собственным словам, это "проект по разработке кросс-платформенного API-интерфейса Python GUI". Не только это, он пытается генерировать GUI, ориентированные на каждый из трех основных платформ.

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

Ответ 4

Есть грузы библиотеки графического интерфейса Python, среди которых некоторые поддерживают Windows. Здесь упоминаются WxPython, которые, несмотря на их скриншоты в стиле Win95 может поддерживать собственные виджеты Windows. Кроме того, как отметил Майк Грэхем, существует поддержка отличного GTK + через PyWin, поддержка Windows которого действительно прошла долгий путь их Скриншоты окна могут указывать на то, насколько он хорошо интегрирован с внешним виджетом виджетов. PyQt использует QT Toolkit, который также имеет хорошую поддержку Windows, и, конечно же, всегда существует опция с использованием оболочек Win32 для прямого доступа к API-интерфейсам Windows (хотя API-интерфейсы довольно уродливы, что не является оберткой, так как это Win32 API; это, вероятно, стоит только позаботиться, если вы уже знакомы с Windows API).

Еще два варианта, несколько более из коробки, будут включать уход CPython и использование IronPython (который работает на .NET и, следовательно, имеет доступ к Windows.Forms, или, чтобы быть действительно тупым Gtk # через Mono) и Jython (который работает на JVM и может использовать либо довольно грязный Swing, который имеет поддержку собственных виджета Windows или SWT, который поддерживает собственные виджеты Windows).

Итак, в целом на Python существует множество опций для использования родной Windowslibrary.

Ответ 5

Да, вы можете использовать PyQt или PySide (другое связывание Qt) или wxPython. Они поддерживают внешний вид и внешний вид.

Там также PyGTK, но приложения gtk не выглядят настолько родными..

Я лично предпочитаю Qt, поэтому я бы предложил PyQt. Если у вас есть проблемы с GPL, вы можете использовать PySide (LGPL).