Разработка графический интерфейсов пользователя в Python: Tkinter по сравнению с [закрытым] PyQt

Я не соглашаюсь с ответом John's. DataContext (или Linq к Объектам ObjectContext) является большим количеством "единицы работы", чем соединение. Это справляется с отслеживанием изменений, и т.д. Посмотрите это сообщение в блоге для описания:

Время жизни LINQ к SQL DataContext

четыре основных момента этого сообщения в блоге то, что DataContext:

  1. идеально Подходит для подхода "единицы работы"
  2. , также разработан для эксплуатации сервера "не сохраняющей состояние"
  3. , не разработан для Долговечного использования
  4. Should be used very carefully after
    any SumbitChanges() operation.
    

по этой причине, я не думаю с помощью больше чем одного DataContext, делал бы что-то плохое - на самом деле, создавание различного DataContexts для различных типов работы поможет сделать LinqToSql impelmentation более usuable и организованным. Единственный недостаток - Вы, не был бы в состоянии использовать sqlmetal, чтобы автоматически сгенерировать Ваш dmbl.

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

5 ответов

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

Есть только два реальных (потенциальных) недостатка:

PyQt доступен только под лицензией GPL. Это означает, что если вы выпускаете свой код, он должен быть доступен по совместимой лицензии, в соответствии с условиями Исключения GPL Nokia или по коммерческой лицензии (которая стоит денег). В этом отличие от Qt, который теперь доступен в рамках LGPL.

PyQt по умолчанию не включен в установку Python. Вам придется самостоятельно упаковать библиотеку. (У Ars Technica есть хорошая статья о том, как это сделать для Windows и OS X.)

67
ответ дан 24 November 2019 в 08:05
поделиться

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

Для больших приложений PyQt может быть лучшим выбором. У него очень хороший дизайнер экрана, но с лицензированием могут возникнуть проблемы.

Наконец, wxPython может быть хорошей альтернативой, поскольку у него нет этих недостатков.

17
ответ дан 24 November 2019 в 08:05
поделиться

PyQt сейчас является нашим основным набором инструментов графического интерфейса, и после 1 года разработки я не хочу возвращаться ни к чему другому. Он стабильный, зрелый, кроссплатформенный и полностью нативный. Даже системные диалоговые окна (например, для открытия файлов) используются вашей операционной системой.

Я изменил свою тему XP, и теперь мои приложения выглядят соответственно. Это создает очень профессиональный вид, несравнимый с таким инструментарием, как Swing . API обширен и выходит за рамки чисто графических элементов, таких как виджеты. Он поддерживает подключение к базе данных, печать, многопоточность (я использовал его, и он работает как шарм), ... Я даже использую его для создания PDF-файлов (никаких других внешних библиотек не требуется). Я бы порекомендовал книгу Марка Саммерфилда « Быстрое программирование графического интерфейса с помощью Python и Qt », чтобы ускорить процесс. Я даже использую этот конструктор для создания макетов, чтобы показать их пользователям (это так просто!).

Я представил его двум другим разработчикам и не слышал, чтобы они жаловались ...

35
ответ дан 24 November 2019 в 08:05
поделиться

Я использую PyQt - кроссплатформенный, простой в работе и надежный.

Я использовал TkInter очень легкий, и я не могу найти смысла сделать tkInter лучше, чем PyQt .

1
ответ дан 24 November 2019 в 08:05
поделиться

PyQt действительно легко изучить, и документация для Qt также работает для PyQt, также есть порты для .NET и Java. Итак, это сказочная кросс-платформа и кросс-язык. Также у вас есть PyQt, интегрированный в Eric IDE .

Поддержка стилей CSS также действительно великолепна.

См. Новый установщик OpenSuSE, чтобы узнать, что вы можете с ним сделать.

7
ответ дан 24 November 2019 в 08:05
поделиться
Другие вопросы по тегам:

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