Можно ли создать собственный графический интерфейс с 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).