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