Вопрос

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

Это было полезно?

Решение

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

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

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

минусы tkinter: Использует похожие на motif виджеты в * nix-боксах, которые многие находят отталкивающими (хотя некоторые тщательные настройки могут сделать графический интерфейс вполне приемлемым).Иногда бывает трудно отлаживать из-за того, что виджеты Tkinter по своей сути не являются объектами python;tkinter предоставляет оболочку вокруг реальных виджетов tk, что иногда означает, что вы получаете странные сообщения об ошибках.Поддержка печати очень ограничена (вы можете создавать документы postscript из canvas, но в текстовом виджете для печати нет встроенной поддержки).Некоторые люди утверждают, что Tk - это уродливо.Tkinter не такой "питонический", как wxPython.

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

Минусы wxPython:wxPython требует отдельной загрузки, управлять которой при развертывании приложения может быть непросто.Документация, на мой взгляд, очень слабая;очень трудно найти конкретную информацию.Книга "wPython в действии" представляет собой хорошее введение, но на нее нельзя полагаться как на справочник.wxPython немного глючит, IMO, и есть определенные кроссплатформенные проблемы.Я видел сбой wxPython и утверждения print намного чаще, чем Tkinter.

Другие советы

Если вы новичок и хотите выбрать что-то одно, я НАСТОЯТЕЛЬНО рекомендую tkinter за его простоту и эффективность.wxPython может подождать, пока вы не получите очень хорошее представление о python, особенно о классах и графическом интерфейсе в целом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top