Можно ли с помощью Python создать графический интерфейс, похожий на нативный - PullRequest
15 голосов
/ 16 апреля 2010

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

Ответы [ 5 ]

10 голосов
/ 16 апреля 2010

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

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

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

8 голосов
/ 16 апреля 2010

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

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

6 голосов
/ 16 апреля 2010

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

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

3 голосов
/ 16 апреля 2010

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

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

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

3 голосов
/ 16 апреля 2010

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

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

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

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