Подтвердить что ты не робот

Выбор GUI для окон (wxPy vs pyQt)

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

Есть два инструментальных средства GUI для python, которые мы знаем: wxPython и pyQT. У кого-нибудь есть аргументы в отношении про и против? И, может быть, кто-то знает какие-либо коммерческие приложения, используя эти продукты (только python версия набора инструментов)? Желательны ссылки.

Спасибо.

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

Ответ 6

Опция Windows (и Mono) для инструментария GUI предоставляется IronPython. Он обеспечивает доступ к библиотекам Winforms и WPF. Например, см. Разработка с помощью IronPython и Windows Forms и многие другие.

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

Ответ 7

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

  • Он использует собственные виджеты на каждой поддерживаемой платформе. Таким образом, приложения имеют собственный внешний вид. Я знаю, что PyQt использует собственные стили, но поведение ( "чувство" ), как сообщается, несколько не является родным, особенно на Mac.
  • Он предоставляет более широкий выбор виджетов из коробки.

Ответ 8

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