За и против tkinter и wxWidgets?

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

6
задан nbro 10 May 2015 в 21:40
поделиться

1 ответ

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

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

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

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

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

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

14
ответ дан 8 December 2019 в 16:01
поделиться
Другие вопросы по тегам:

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