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

Tkinter или wxpython

Я хочу простой gui для одного из приложений may и am noob, когда он приходит gui сам. Tkinter и wxpython - это два стандарта в python, которые я вижу. Какой из них проще и интуитивно понятен?

4b9b3361

Ответ 1

Tkinter почти не изменился с годами, очень стабилен. wxPython является хорошей альтернативой.

Некоторые обсуждения, которые могут вас заинтересовать при выборе между Tkinter и wxPython

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

Также wxPython поставляется с некоторым GUI-конструктором, который может помочь вам создать простое приложение быстрее и сделать с.

Ответ 2

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

wxPython имеет больше встроенных виджетов, но там действительно не так много, чем то, что вы можете сделать в Tkinter с небольшой работой. Однако, как новичок, вы можете обнаружить, что все встроенные виджеты являются хранителями времени.

Одна вещь, которую я нахожу крайне расстраивающей с помощью wxPython, - это менеджеры макетов. В Tkinter у вас есть три варианта: хотите выложить вещи в сетке? Используйте grid. Положить вещи в горизонтальные ряды или вертикальные столбцы? Используйте pack. Хотите абсолютное позиционирование (редко нужно...)? Используйте place.

Для wxPython вам нужно выбрать BoxSizer (в горизонтальном и вертикальном вариантах), StaticBoxSizer, GridSizer, FlexGridSizer, GridBagSizer или абсолютное позиционирование с атрибутами виджета. С тремя менеджерами Tkinter я могу делать столько или больше с меньшим количеством строк кода, чем я могу со всеми различными менеджерами wxPython.

Tkinter также имеет лучшую модель обработки событий IMO. В любом другом наборе инструментов просто нет равных механизму привязки Tk. Все привязки в значительной степени обрабатываются одинаково (по сравнению с различием wxPython между событиями ускорителя, событиями команд и событиями без команд). Привязки простые, интуитивно понятные и очень гибкие с Tkinter.

Чтобы сказать что-то хорошее о wxPython, большинство людей думает, что wxPython выглядит лучше, чем Tkinter. С современными версиями tk (python 2.7 и выше) разрыв сокращается с введением тематических виджетов в Tk.

Итак, для простоты я рекомендую Tkinter. Все основные функции существуют, если вы используете python 2.7 или выше. Это просто, легко, достаточно хорошо документировано.

Ответ 3

A) Если вам нужно только общаться с пользователем с диалогами, селекторами файлов и т.д., то используйте EasyDialogs для Windows. Вам не нужно ничего знать о GUI для этого.

> import EasyDialogs
> work_file = EasyDialogs.AskFileForOpen()

В качестве альтернативы, если вы не в окнах или даже находитесь, проверьте EasyGui. Очень похоже, хотя для очень простых вещей я предпочитаю EasyDialogs, потому что внешний вид лучше.

B) Если вам нужно что-то более сложное, но вы все равно не хотите слишком много вмешиваться в рамки GUI, попробуйте wxpython с griggio wxglade. С помощью wxglade вы можете сделать GUI очень легко кодируя только минимальную часть вещи и избегая большей части кипящей пластины. Получите wxglade от bitbucket, он более стабильный.

C), если вам нужно что-то более сложное, возьмите wxpython или pyQt.

D), если вам нужно что-то более сложное в python 3.x, перейдите для pyQt.

Ответ 4

Tkinter намного проще. Но wxpython обеспечивает большую гибкость. Попробуйте wxGlade, вам может понравиться.

Ответ 5

Для создания интерфейсов gui в python вы также можете использовать PyQT или PySide. Это может быть проще для вас.