Подтвердить что ты не робот

Разработка графических интерфейсов в Python: Tkinter vs PyQt

Если вы хотите разработать пользовательский интерфейс в Python, какой из них следует использовать: TkInter или PyQt?

Я только начал с TkInter, и мне удалось получить некоторые простые пользовательские интерфейсы с элементарными виджетами, такими как ярлык, кнопка, текстовое поле и т.д. Любопытно узнать, насколько хороший PyQt будет сравниваться с TkInter?

веселит

4b9b3361

Ответ 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.