Что API GUI Python там? [закрытый]

Вы можете сделать случайный случай;)

привести пример, если случайный случай равен 4, а button4 пустой. Button4.text = "x".

Random rand = new Random();
int i = rand.Next(0,6);
if (i == 4 && button4.text != "x")
{
    button4.text = "x";
}

Я думаю, это хорошо;)

12
задан akdom 18 September 2008 в 16:03
поделиться

12 ответов

15
ответ дан 2 December 2019 в 03:12
поделиться

Я использовал Tkinter и wxPython. Tkinter является довольно основным, и не использует собственные виджеты. Это означает, что приложения Tkinter будут выглядеть одинаково на любой платформе †“, это могло бы звучать как обращение, но на практике, это означает, что они выглядят ужасными на любой платформе:-/, Тем не менее, это довольно просто в использовании. Я нашел Взгляды в Tkinter очень полезный, когда я учился, потому что я никогда не делал никакого GUI, программируя прежде. Если вещи как кадры и алгоритмы макета и кнопки и привязка знакомы Вам, тем не менее, можно пропустить тот шаг.

можно увеличить Tkinter с Tix (но быть предупреждены, Tix не играет хорошо с py2exe). Также проверьте Мегавиджеты Python, который создает еще некоторые усовершенствованные средства управления с помощью основ Tkinter.

Наконец, Tkinter играет по правилам с оболочкой: можно запустить интерпретатор, сделать вещи как 'импорт tkinter' 'tk = tkinter. Tk ()' и т.д. и сборка Ваш GUI в интерактивном режиме (и это будет быстро реагирующим). (Я думаю, что это не работает, если Вы используете НЕАКТИВНЫЙ, хотя)

wxPython намного лучше выглядит, и поставлется с намного большим диапазоном средств управления. Это является межплатформенным (хотя это кажется немного привередливым на моем Mac), и использует собственные средства управления на каждой платформе. Это немного сбивает с толку, все же. Это также поставлется с демонстрационным приложением, которое представляет большинство его функций и предоставляет испытательный стенд Вам для экспериментирования. Некоторые определенные мысли о wxPython:

  • существует три (?) различных способа разметить виджеты. Проигнорируйте двух из них; просто используйте Классификаторы. И даже тогда, можно сделать примерно любое расположение с помощью только BoxSizer и GridBagSizer.
  • Все wx виджеты имеют идентификаторы. Вы не должны заботиться, каковы идентификаторы, но в былые времена (я думаю), действительно необходимо было знать, таким образом, некоторый старый код будет замусорен явными идентификационными присвоениями. И большая часть демонстрационного кода будет иметь-1 везде как идентификационный параметр (несмотря на то, что методы у всех есть идентификатор как ключевой параметр что значения по умолчанию к-1 так или иначе).
  • Удостоверяются, что Вы получаете стандарт wxWidgets документы, а также wxPython Демонстрация †“, Вам нужны они оба.
  • , Если Вы хотите использовать wxPython с py2exe и Вы хотите, чтобы он выглядел хорошим на Windows XP, Вам нужно немного обмана в Вашем setup.py. См. здесь
11
ответ дан 2 December 2019 в 03:12
поделиться

EasyGUI отличается от других графический интерфейсов пользователя в том, что EasyGUI не событийно-ориентирован. Это позволяет Вам программе в традиционном линейном виде, и поднимать диалоговые окна для простого ввода и вывода, когда Вы должны. Если Вы еще не изучили событийно-ориентированную парадигму для программирования GUI, EasyGUI позволит Вам сразу быть продуктивными с очень простыми задачами. Позже, если Вы хотите сделать переход к событийно-ориентированной парадигме GUI, можно сделать так с более мощным пакетом GUI, таким как anygui, PythonCard, Tkinter, wxPython, и т.д.

Веб-сайт EasyGui

2
ответ дан 2 December 2019 в 03:12
поделиться

wxPython, и я принимаю PyGTK также, может использовать wxGlade, чтобы помочь Вам разработать большую часть UIs, который Вы создадите. Это - большое плюс. Вы не должны изучать, как к ручному коду GUI, пока Вы не готовы. Я сделал несколько программ GUI прямо из wxGlade, прежде чем я был достаточно удобен в том, как wxPython работал для взятия выстрела в кодирование руки.

PyQt имеет подобное графическое устройство расположения, но мне никогда не везло, заставляя PyQt скомпилировать правильно. Было также отсутствие учебных руководств и документации, которая показала, как создать заключительный код Python; многие документы, которые я нашел упомянутым версия C++ QT

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

0
ответ дан 2 December 2019 в 03:12
поделиться

Я предпочитаю PyGTK, потому что я - парень GNOME. Используя PyGTK чувствует очень pythonic мне. Организация кода чувствует себя последовательной, документация является чистой и полной, и это - очень легкий инструментарий для привыкания к (за исключением, возможно, Treeviews).

1
ответ дан 2 December 2019 в 03:12
поделиться

PythonCard действительно прост в использовании. Это - то, что я рекомендовал бы.

Вот их рецензия:

PythonCard является набором конструкции GUI для того, чтобы создать межплатформенные настольные приложения в Windows, Mac OS X и Linux, с помощью языка Python.

девиз PythonCard является "Простыми вещами, должно быть простым, и сложные вещи должны быть возможными".

PythonCard для Вас, если Вы хотите разработать графические приложения быстро и легко с минимумом усилия и кодирования. HyperCard Apple является одним из нашего вдохновения; простой, все же мощный.

PythonCard использует wxPython. Если Вы уже знакомы с wxPython, просто думаете о PythonCard как о более простом способе уже сделать wxPython программы с большим образцами и инструментами на месте, чтобы Вы скопировали и разделили на подклассы и инструменты, чтобы помочь Вам создать межплатформенные приложения.

3
ответ дан 2 December 2019 в 03:12
поделиться

Я работал с wxPython в течение нескольких лет теперь, и мне нравится он вполне немного. Лучшая вещь о wxPython состоит в том, что UI чувствует себя собственным на различных платформах, на которых он работает (превосходный в Windows и Linux хотя не как хороший на OS/X).

API испытывает недостаток в некоторой непротиворечивости, но Вы быстро привыкаете к нему.

можно проверить Testuff (бесстыдный разъем, поскольку это - мой собственный продукт) получить чувство того, что может быть сделано с wxPython (хотя я должен сказать с довольно мало усилия).

0
ответ дан 2 December 2019 в 03:12
поделиться

Мне нравятся wxPython или Tk.

Tk идет со стандартным распределением Python, таким образом, Вы не должны устанавливать что-либо еще.

wxPython (wxWigets) кажется намного более мощным и выглядит намного более хорошим. Это также работает хорошо межплатформенное (хотя не отлично, потому что это использует другой базовый графический API на различных системных типах)

1
ответ дан 2 December 2019 в 03:12
поделиться

Я нашел эту ссылку долгим временем движение: http://www.awaretek.com/toolkits.html . Это предлагает tookit на основе Ваших критериев. Для меня это предлагает wxPython все время. Так или иначе это дает Вам набор очков на различных инструментариях. То, что является правильным для меня, не может быть правильным для Вас. Но это дает Вам, как весь tookits выиграл согласно Вашим критериям, поэтому если Вам не нравится главный инструментарий по некоторым причинам, Вы видите, которые являются самыми близкими к Вашим критериям.

QT/GTK/WxWidgets (раньше wxWindows), кажется, среди самых зрелых кросс-платформенных инструментариев GUI. Единственная проблема - то, что ни один не установлен со стандартной установкой Python, таким образом, Вам, вероятно, придется скомпилировать библиотеки. Если Вы хотите что-то без установки, требуемой, который просто работает, то пойдите с TKInter, потому что, как был упомянут, это установлено по умолчанию с Python.

Так или иначе мои критерии были 9 на Простоте использования, 10 на зрелости документации/виджетов, 10 на установленной основе, 5 на gui генераторах кода, 10 на собственном стиле для обоих окон/Linux и 1 и 5 для последних двух, я не являюсь крупным в MAC OSX (даже с 10 здесь, это предлагает wxpython).

3
ответ дан 2 December 2019 в 03:12
поделиться

Большинство API GUI Python будет обертками вокруг наиболее распространенного c/c ++ API GUI. У Вас есть обертка Python для gtk, обертка Python для QT, обертка Python для.NET, и т.д. и т.д.

Поэтому действительно это зависит от того, каковы Ваши потребности. При поиске самого легкого способа потянуть собственно выглядящие виджеты на Linux, Mac и Windows, то пойдите с wxPython (обертка Python для Виджетов WX). Если межплатформенный не одна из Ваших потребностей, хотя, другие библиотеки могли бы быть более полезными.

3
ответ дан 2 December 2019 в 03:12
поделиться

Вместо того, чтобы отправить список Ваших опций я дам свое скромное мнение:

я люблю wxPython.

я использовал QT в C ++ и Tk путь назад в дни Tcl, но что действительно делает меня как wxPython, демонстрация, которую Вы получаете с ним. В демонстрации можно просмотреть все различные кадры виджетов и т.д., которые являются частью платформы, видят исходный код и на самом деле видят, как это смотрит, в то время как это работает.

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

3
ответ дан 2 December 2019 в 03:12
поделиться

PyQt превосходен, если у Вас есть опыт или интерес к QT

http://www.riverbankcomputing.co.uk/software/pyqt/intro

4
ответ дан 2 December 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: