Плюсы и минусы tkinter и wxWidgets? - PullRequest
6 голосов
/ 10 марта 2010

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

Ответы [ 2 ]

14 голосов
/ 10 марта 2010

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

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

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

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

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

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

1 голос
/ 21 июля 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...