Разработка GUIs в Python: Tkinter vs PyQt [закрыто]
Если вы хотите разработать пользовательский интерфейс в Python, какой из них: TkInter или PyQt?
Я только начал с TkInter, и я смог получить некоторые простые UIs с элементарными виджетами, такими как ярлык, кнопка, текстовое поле и т. д. Просто любопытно узнать, насколько хороший PyQt будет сравниваться с TkInter?
ура
6 ответов
PyQt, если вы разрабатываете что-то серьезное, тем более, что вещи, которые вы узнаете, будут переводиться непосредственно на работу с Qt на других языках, если вам когда-либо понадобится, и Qt, вероятно, лучший кросс-платформенный интерфейс инструментарий доступен прямо сейчас.
есть только два реальных (потенциальных) недостатки:
PyQt доступен только под GPL. Это означает, что если вы выпускаете свой код, он должен быть доступен по совместимой лицензии на условиях исключение GPL от Nokia, или по коммерческой лицензии (которая стоит денег). Это в отличие от Qt, который теперь доступен под LGPL.
PyQt не включен по умолчанию с установками Python. Вам придется самой упаковать библиотеку. (Ars Technica имеет хорошая статья на делать это для Windows и OS X.)
PyQt-наш основной инструментарий GUI сейчас, и после 1 года разработки я не хочу возвращаться ни к чему другому. Это стабильный, зрелый, кросс-платформенный и полностью родной. Даже системные диалоговые окна (например, для открытия файлов) используются вашей операционной системой.
Я настроил свою тему XP, и теперь моя кожа приложений соответственно. Это создает очень профессиональный вид, не сопоставимый с инструментарием, как Swing
. API обширен и выходит за рамки чистого GUI, такие как штучки. Он поддерживает подключение к базе данных, печать, резьбу (я использовал его, и он работает как шарм)... Я даже использую его для создания PDF-файлов (никаких других внешних библиотек не требуется). Я бы рекомендовал книгу Марка Саммерфилда, хотя"быстрое Программирование GUI с Python и Qt ' чтобы вы на скорости. Имейте в виду, что Qt поставляется с GUI builder (Qt designer), который является лучшим, что я использовал (и я пробовал много из них).
Я даже использую этот конструктор для создания макетов для показа пользователям (это так просто!).
Я представил его 2 другим разработчикам здесь и не слышал, чтобы они жаловались...
Я использую tkinter
на небольшие приложения С простым интерфейсом. Мне это очень нравится, даже если отсутствие хорошего WYSIWYG редактор может быть проблемой для больше приложение.
для больших приложений, PyQt
может быть лучшим выбором. Он имеет очень хороший дизайнер экрана, но лицензирование может быть проблемой.
наконец, wxPython
может быть хорошей альтернативой, потому что там нет этих недостатки.
PyQt очень прост в освоении, и docs for Qt также работает для PyQt также есть порты для .NET и Java. Итак, это fairy cross platform и кросс-язык. Также у вас есть PyQt, интегрированный в Eric IDE.
поддержка стилей CSS также действительно блестящая.
см. новый установщик OpenSuSE, чтобы узнать, что вы можете с ним сделать.
вы можете создать огромные GUIs с помощью Tkinter. Если вам нравится попробовать модуль pytkgen, он помогает создавать Tkinter GUI из определений JSON:https://github.com/tmetsch/pytkgen
Я использую PyQt-кросс-платформенный, простой в работе и надежный.
Я TkInter очень легкий, и я не могу найти точку, делающую tkInter лучше, чем PyQt.