Выбор графического интерфейса в Windows (wxPy vs pyQt) - PullRequest
17 голосов
/ 08 июня 2009

Мы планируем разработать приложение для мониторинга и настройки нашего сервиса (который работает на удаленном сервере). После долгого обсуждения мы выбрали python в качестве платформы для нашего приложения, потому что мы любим и знаем python. Но мы не знаем, какой инструментарий GUI предпочтителен для наших целей. Нам нужно быстрое (для разработки и запуска) приложение, пользователями которого будут администраторы, сопровождающие и менеджеры аккаунтов.

Существует два инструментария GUI для python, которые мы знаем: wxPython и pyQT . У кого-нибудь есть аргументы относительно плюсов и минусов? А может кто-нибудь знает какие-либо коммерческие приложения, использующие эти продукты (только Python-версия инструментария)? Ссылки желательны.

Спасибо.

Ответы [ 8 ]

12 голосов
/ 11 июня 2009

Я выбрал wxPython после долгих исследований. Причины были:

  • Книга Раппина и Данна "wxPython in action"
  • Объемные примеры, которые являются частью загрузки wxPython
  • Количество проектов, которые использовали wxWidgets
  • Тот факт, что код wxPython одинаково хорошо работает в Linux, Mac OS / X и Win32

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

Что касается Tkinter (TIX), я думаю, что он выглядит довольно устаревшим. Если вы не используете IronPython или Jython, я бы не стал рассматривать использование соответствующих API оконных окон. Для другого проекта, который должен быть представлен исключительно на .Net, я планирую использовать WinForms после множества отличных отзывов от участников StackOverflow.

9 голосов
/ 08 июня 2009

Ну, я фанат QT: у него более современный внешний вид. Однако - ваш выбор должен основываться на ваших фактических требованиях. Простые исследования торговли полезны для этого. Составьте список функций, которые должен иметь ваш инструментарий , и какие функции было бы неплохо иметь, а затем соответствующим образом взвесите каждый элемент. Затем посмотрите на все ваши варианты (также TKinter) и затем оцените их в соответствии с вашим списком функций (используя веса, которые вы присвоили каждому требованию функции). В конце должно быть ясно, какой из них подходит для вашего проекта.

6 голосов
/ 08 июня 2009

Мне всегда нравилась концептуальная модель Qt «сигналы и слоты», хотя я думаю, что разработчикам, которые более привыкли к другим моделям распространения и обработки событий, может потребоваться некоторое обучение. Лично, если бы у меня был выбор, я бы выбрал PyQt из-за этого аспекта программирования.

4 голосов
/ 01 мая 2010

Я использую wxpython в течение 3 лет ... и теперь нам пришлось переключиться на pyqt, так как qt интегрирован в Maya 2011. Однако wxpython более прост, и вы можете легко начать работать над ним и изучить его ноль быстро. Это обеспечивает и удивительные ресурсы и decumentation. но QT предоставляет более мощные функции, которые вы не найдете в wxpython, например (обнаружение мультитач), QT также обеспечивает хорошую поддержку для устройств рисования, таких как планшетные ПК и так далее.

Qt также предоставляет хорошего дизайнера, который позволяет быстрее создавать интерфейсы.
один из недостатков qt - это лицензия, так как она не бесплатна, как wxpython

4 голосов
/ 19 августа 2009

Вы написали "Существует два инструментария GUI для python, которые мы знаем: wxPython и pyQT." Вы забываете о самом очевидном наборе инструментов: tkinter. На самом деле это часть основного дистрибутива Python, никаких дополнительных загрузок не требуется.

Некоторые люди не любят ТЗ, но это часто из-за невежества. Tk - прекрасный выбор для кроссплатформенного инструментария. Он использует собственные виджеты на окнах (и уже много лет), а в последних версиях tk используются тематические виджеты на всех платформах.

3 голосов
/ 23 июня 2009

Я хочу указать на две сильные стороны, которые wxPython сравнил с pyQt:

  1. Он использует родные виджеты на каждой поддерживаемой платформе. Таким образом, приложения имеют естественный вид и чувствуют . Мне известно, что PyQt использует нативные стили, но, как сообщается, поведение («ощущение») несколько не родное, особенно на Mac.
  2. Предоставляет широкий выбор виджетов из коробки.
3 голосов
/ 08 июня 2009

Опция Windows (и Mono) для инструментария GUI предоставляется IronPython . Он обеспечивает доступ к библиотекам Winforms и WPF. Примеры см. В Разработка с использованием IronPython & Windows Forms и многих других.

Если вы хотите расширить список параметров, рассмотрите возможность создания Web App вместо (локального) приложения с графическим интерфейсом. Вы говорите, что ваша служба работает на удаленном сервере, поэтому сетевое взаимодействие является частью ваших требований. Как только вы начинаете идти по этому пути, Python предоставляет изумительное количество опций .

2 голосов
/ 08 июня 2009

Вы также должны проверить PyGTK. Он похож на pyQT в модели программирования, но не требует никаких затрат на лицензирование, так как это LGPL. Мне всегда было приятно работать разработчиком. Основным недостатком pyQT является то, что в некоторых случаях они убирают функциональность в таких вещах, как диалоги выбора файлов, в пользу простоты для пользователя.

...