2010-03-10 3 views
6

Я читаю этот учебник, который помогает мне изучать как tkinter, так и wxWidgets параллельно, но я хочу глубоко поработать, поэтому хотелось бы узнать, какой инструмент графического интерфейса лучше изучать в глубину и почему?Плюсы и минусы tkinter и wxWidgets?

+0

Я никогда не пользовался tkinter, но я использовал wxWidgets для написания простого графического интерфейса терминала, который работал как в Microsoft Windows, так и в Linux/GTK, - был доволен результатом. –

ответ

14

Невозможно сказать, что является «лучше». Либо можно использовать для большинства обычных задач пользовательского интерфейса.

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

tkinter pros: часть питона, ничего лишнего для скачивания. Очень простой синтаксис. Текстовый виджет замечательно мощный и очень прост в работе. Виджет холста также очень прост и силен. Ни один другой инструментарий не дает такого же легкости и мощности, как эти два виджета в моем опыте. Использует собственные виджеты на Mac и Windows. Tk - твердое тело с несколькими кросс-платформенными особенностями. Я думаю, что механизм привязки Tkinter намного превосходит wxPython; он более гибкий и последовательный. Я думаю, что три менеджера геометрии Tkinter - пакет, место и сетка - намного более мощные и простые в использовании, чем симуляторы wxPython.

tkinter cons: Использует мотивы, подобные виджетам на * nix-боксах, которые многие находят на месте (хотя некоторые осторожные настройки могут сделать GUI выглядят вполне приемлемыми). Иногда трудно отлаживать то, что виджеты Tkinter по своему ядру не являются объектами python; tkinter предоставляет оболочку вокруг реальных виджетов tk, что иногда означает, что вы получаете странные сообщения об ошибках. Существует очень небольшая поддержка печати (вы можете создавать документы postscript с холста, но встроенной поддержки в текстовом виджете для печати нет). Некоторые люди утверждают, что Тк уродлив. Tkinter не является «pythonic» как wxPython.

wxpython pros: У этого есть много других виджетов, хотя часто это означает, что есть три типа виджетов для ноутбуков, а не один виджет кухонной раковины. Виджеты wxPython - это первоклассные объекты python, которые действительно приятны. wxPython обычно выглядит лучше на * nix машинах. wxPython кажется более популярным; некоторые люди заботятся об этом, другие - нет. wxPython имеет гораздо лучшую поддержку печати, чем Tkinter.

wxPython cons: wxPython требует отдельной загрузки, которая может быть болью при управлении при развертывании приложения. По моему мнению, документация очень слабая; очень сложно найти конкретную информацию. Книга «wPython in Action» обеспечивает хорошее введение, но на нее нельзя ссылаться как справочник. wxPython - это немного ошибочная IMO, и есть определенные межплатформенные проблемы. Я видел ошибки wxPython и печатные утверждения чаще, чем Tkinter.

+0

Эй, Брайан, эксперт по Python! Пожалуйста, посмотрите http://stackoverflow.com/questions/23022005/python-tkinter-tree-selection –

1

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

Смежные вопросы