Какую среду GUI изучать, когда вы знаете скрипты и HCI?

1

У меня есть некоторые знания о взаимодействии с человеческим компьютером и некоторые базовые сценарии программирования знаний (Python), которые запускаются от начала до конца и автоматизируют некоторые задачи, которые я хочу сделать, или вычисления. Раньше я строил интерфейсы в HTML с PHP за ним.

Я бы хотел, чтобы мои скрипты python эволюционировали из командной строки и создавали некоторые приложения с графическими интерфейсами, которые позволяли бы пользователю перетаскивать файлы и кнопки для запуска операций и проверки прогресса графически.

Поскольку я пишу свои скрипты в Python, я смотрел на некоторые из параметров (Tkinter, wxPython, PyQt), но я не могу принять решение между ними, чтобы инвестировать свое время в изучение одного, а не другого. Мои критерии:

  • Есть ли введение для программистов для GUI (каковы отличия от script, примеры некоторых простых интерфейсов)
  • Рамка, которая позволит мне запускать мои программы на платформах, которые я использую больше всего (Windows), но которые также могут работать на Mac и, возможно, в Linux, без особых изменений.
  • Очень мелкая кривая обучения (легко сделать первые интерфейсы), но гибкость позже, чтобы настроить интерфейс сверх того, что позволяет стандартная ОС (например, разные цвета, размер и форма кнопок)
  • Если это не так, аналогично тому, как вы программируете графический интерфейс для Android и/или смартфонов Nokia. Я планирую написать некоторые программы для этих платформ в ближайшем будущем, поэтому я хотел бы, если это возможно, перенести некоторые уроки на эти платформы.

Я нашел этот предыдущий вопрос, но ни один из ответов не является удовлетворительным.

Соответствует ли какая-либо из фреймворков этим требованиям, чем другие, или они по существу похожи, и я был бы доволен любым из них?

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

Теги:
user-interface
meego

3 ответа

6
Лучший ответ

PyQt и/или очень похожий на Nokia PySide (с более "расслабленной" лицензией, LGPL вместо GPL, и тот же базовый инструментарий, Qt), предлагают преимущество сходства с набором инструментов для смартфонов Nokia (ваш четвертый пункт) - Nokia приобрела Trolltech, создатели Qt, именно потому, что Qt был основным инструментарием GUI для мобильных предложений.

Все упоминаемые вами инструментальные средства удовлетворяют условиям, которые вы задаете в отношении операционных систем (Windows, Mac, Linux), вашей второй точки.

Ваша первая и, в некоторой степени, третьи точки зависят от того, какие учебные материалы у вас есть для каждого набора инструментов. На мой вкус, кажется, что учебник wxPython (новый в вики-форме - это то, на что я указываю и рекомендую) действительно хорош, и PyQt неплохо; PySide docs не содержат хорошего учебника (о котором я знаю), я считаю, что намерение PySide заключается в том, что вы сначала узнаете PyQt (с разумным доступные материалы), затем примените эти несколько различий для программирования в PySide вместо PyQt;-). Учебники Tkinter, которые я могу найти, либо очень старые, либо сфокусированы на базовом многоязычном характере инструментария, который, по моему мнению, делает их хуже.

Если вы можете позволить себе книгу, PyQt имеет хороший (также относится к PySide, как указано выше) - этот отличный и бесплатный, к сожалению, очень старый, поэтому я не думаю, что это помогает. wxPython собственная книга также неплоха; tkinter, опять же очень датирован.

Лично я рекомендую PyQt/PySide: общая мощность A +, легкость начала работы (с приведенным выше учебником и книгой) A-, Nokia-программист похож на A. Для wxPython я бы сказал, что власть A, легкость A, Nokia- сходство B. Tkinter датированные учебники и книги являются важными негативами.

Вы также упоминаете Android, но я не вижу, как что-то может быть похоже на Android и Nokia-GUI-программирование одновременно. Возможно, я недостаточно хорошо знаком с программированием на Android GUI, но мне кажется, что он отличается от всех упомянутых вами инструментальных средств.

1

PyGTK выполняет по крайней мере первые три очка. Я не уверен на четвертом. Здесь есть хороший учебник: http://www.pygtk.org/pygtk2tutorial/index.html

0

Я думаю, вы ищете Glade.

Сайт говорит:

Glade - это инструмент RAD, который позволяет быстро и легко разрабатывать пользователя интерфейсы для инструментария GTK + и среды рабочего стола GNOME.

Пользовательские интерфейсы, разработанные в Glade, сохраняются как XML и с помощью объект GtkBuilder GTK + могут быть загружены приложениями динамически при необходимости.

Используя GtkBuilder, файлы Glade XML могут использоваться в многочисленных языки программирования, включая C, С++, С#, Vala, Java, Perl, Python и др.

Я довольно программист noob, но у меня есть всего несколько проблем, чтобы начать работу с C и Glade. Так что, я думаю, вы будете спокойно играть здесь со своей змеей. Посмотрите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню