Какие многоплатформенные графические интерфейсы можно использовать для написания приложений Python?

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

Я написал приложение Python GUI и сделал его запущенным в Linux, Windows и Mac.

Я использую структуру PyGtk. Конечный результат не очень хорош: приложение выглядит ужасно на Mac, и оно не является «родным» ни в Windows. Кроме того, в Mac поведение окон иногда бывает неправильным, а модальные диалоги появляются под основными окнами.

Я изучил другие структуры, и я обнаружил, что портирование может быть очень сложным:

  • PyQt он огромен, его сложно установить и распространять под Mac;
  • PyGui беден: мне нужны таблицы и деревья, по крайней мере;
  • wxPython явно, что вы должны использовать пользовательскую сборку python для Mac
  • Tkinter : не проверял, только создается впечатление, что он устарел

Я знаю, что этот вопрос может показаться похожим на https://stackoverflow.com/questions/394039/which-python-gui-framework, но в этом потоке проблема переносимости на самом деле не учитывается.

Windows и Mac являются обязательными, поскольку большинство моих пользователей имеют эти системы.

Можете ли вы также предложить несколько книг?

7 Solutions collect form web for “Какие многоплатформенные графические интерфейсы можно использовать для написания приложений Python?”

Попробуйте Kivy , это open source & cross platform.

Kivy – это библиотека программного обеспечения с открытым исходным кодом для быстрой разработки приложений, оснащенных новыми пользовательскими интерфейсами, такими как приложения с несколькими касаниями.

По моему опыту, программирование графического интерфейса в Python для платформы Mac никогда не бывает счастливым. По общему признанию, я работал только с PyQT и PyGTK. Поведение окон никогда не кажется правильным, и виджеты не работают должным образом. Тем не менее, здесь приведен ресурс, в котором перечислены инструменты ad nauseum, GUI для Python и соответствующие платформы, на которые они нацелены:

http://wiki.python.org/moin/GuiProgramming

Квест «Код один раз, бег везде» является фиктивным , насколько это касается GUI. Если вы не хотите, чтобы версия Mac выглядела и чувствует себя чужими и дерьмовыми, вам придется разработать для нее отдельный графический интерфейс.

Я не думаю, что это вопрос Python. Вы недовольны самими кросс-платформенными инструментами GUI – нет ничего Python-y о том, что вы просили. Возможно, вам нужно найти набор инструментов GUI, которым вы удовлетворены, а затем беспокоиться о том, как подключить к нему приложение Python.

Интернет стал премьерой метаплатформы, не так ли? Не могли бы вы использовать интерфейс HTML / Javascript / Flash?

Что-то вроде этого?

http://www.adobe.com/devnet/flex/articles/flex_ui_print.html или это?

http://pyjs.org/ (поиск Pajamas-Desktop, когда вы туда попадете)

Возможно, вы представили ответ в своем комментарии к моему первоначальному ответу:

Вы рассматривали решение Jython / Swing? Используйте Java для своего графического интерфейса и существующий код Python для логики?

Ну, на самом деле я попробовал несколько решений, и я думаю, что я продолжу работу с wxPython .

Есть некоторые заметные проблемы, прежде всего, что я должен использовать старый 2.5 Python. Однако мне удалось создать переносимый каталог .app для Mac и автоинсталляцию .exe для Windows (и пару Makefile (ы) для их создания).

Портирование еще не начато (появилась настоящая работа и появились более насущные проблемы :-().

Спасибо всем, кто предложил альтернативные подходы, но некоторые проблемы, связанные с конкретными приложениями, сделали этот выбор не очень привлекательным.

  1. Я хочу, чтобы мое приложение использовало только один язык / технологию для простоты обслуживания и развертывания, поэтому гибридные подходы Flash / Air и т. Д. Были отброшены.
  2. Приложение также будет работать в автономном режиме, поэтому доступ к клиенту и серверу невозможен.
  3. Являясь wxPython не самой простой в использовании структурой, я работал с качелями в прошлом и имел очень тяжелое время. Возможно, в то же время доступны более мощные инструменты, но я нахожу wxGlade достаточным для моих нужд, кроме того, аргумент единственной платформы применяется против использования Java

Однако мои взгляды расширились от всех ответов. еще раз спасибо

Должен сказать, что для этого я использую PyQt. Я разрабатываю для Linux, Windows и Mac OS X. И хотя, когда я начал, было больно заставить его работать в Mac OS X (в основном потому, что мне также нужен scipy), теперь он намного лучше, и PyQt4 можно установить без проблемы. Вам просто нужно скачать архивы с сайта http://www.riverbankcomputing.co.uk .

Кроме того, еще один вариант заключается в том, чтобы включить PyQt4 в ваше приложение и обновить sys.path, чтобы указать на то, где установлен PyQt4. Это то, что я делаю, чтобы люди не могли ничего устанавливать для использования моего приложения.

  • Преобразование файла .py в .ui
  • Лучший способ создать приложение на основе R?
  • Продолжить код после цикла продолжается?
  • Локализация графического интерфейса, созданного с помощью Glade и Python (Gtk)
  • Создание торговой платформы с диаграммами - предложения для библиотеки GUI Python
  • Как ускорить внедрение tkinter matplot lib и python
  • Использование GUI в Python в онлайн-среде IDE?
  • Нет модуля с именем tkinter при использовании tkintertables
  •  
    Interesting Posts for Van-Lav

    ab является ошибкой с apr_socket_recv: Соединение отклонено (61)

    Получение сообщения о ходе выполнения из подпроцесса

    Какова разница в эффективности между этими (почти идентичными) условиями

    Настройка торнадо python

    Как я должен учитывать накладные расходы subprocess.Popen () при выборе времени в python?

    Почему я теряю точность при умножении и делении целых ints?

    nginx / bottle python – запрос маршрута к другому порту

    Использование объекта в качестве ключа в словаре в функции Python – Hash

    Python – найти все подсловы, которые можно найти внутри слова

    Переменные Python и среды

    Как получить PID через subprocess.Popen с пользовательской переменной среды?

    Использование Pycairo для генерации изображений динамически и обслуживания в Django

    Настройка удаленной среды при использовании xdist

    Создайте граф из файла CSV и отрисуйте в браузер с помощью Django и библиотеки Pandas Python

    что такое python, эквивалентный PHP $ _SERVER?

    Python - лучший язык программирования в мире.