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

Qt теперь выпущен под LGPL, вы бы порекомендовали его по wxWidgets?

Я довольно тяжелый пользователь wxWidgets, частично из-за причин лицензирования.

  • Как вы видите будущее wxWidgets в ожидании недавнего анонса Qt, выпущенного сейчас под LGPL?
  • Как вы думаете, wxwidget по-прежнему является хорошим техническим выбором для новых проектов? Или вы бы рекомендовали принять Qt, потому что он будет де-факто стандартом.
  • Меня также интересуют возможные последствия, которые это будет иметь для их привязок с наиболее распространенными языками сценариев (например, PyQt, wxPython, wxRuby). Почему PyQt так мало используется, когда у него нет профессионального дизайнера и wxPython?

Связанный:

https://stackoverflow.com/info/443546/qt-goes-lgpl-on-windows-is-it-good-enough-to-use-instead-of-mfc

4b9b3361

Ответ 1

Для тех из нас, кто обращается к wxWidgets, потому что это кросс-платформенная библиотека, которая использует собственные элементы управления для правильного просмотра и изменения, изменение лицензий Qt практически не имеет последствий.

Edit:

Относительно

Qt не имеет встроенных элементов управления, а встроенных функций рисования

позвольте мне привести wxWidgets набор инструментов для сравнения страниц wiki:

Qt не имеет настоящих родных портов, таких как wxWidgets. Под этим мы подразумеваем, что, хотя Qt делает их вполне реалистично, Qt рисует собственные виджеты на каждой платформе. Стоит отметить, что Qt поставляется со специальными стилями для Mac OS X и Windows XP и Vista, которые используют собственные API (Appearance Manager в Mac OS X, UxTheme в Windows XP) для рисования стандартных примитивов виджетов (например, полос прокрутки или кнопок) точно так же, как любые собственное приложение. Обработка событий, получаемая визуальная обратная связь и макет виджетов всегда реализуются Qt.

Ответ 2

В настоящее время я использую pyqt на работе, и я полностью удовлетворен. У вас лучшая документация (IMHO), лучшее управление событиями (шаблон сигнального слота является чем-то более мощным, чем старый стиль простого обратного вызова), а импортировать свой пользовательский виджет в графическом дизайнере, таком как qt-designer, намного проще. Насколько я могу судить, qt-designer более мощный, чем любой другой wxpython, например Boa Constructor и pyGlade). У вас также есть отличная поддержка для перевода строк программы на разных языках (по крайней мере, лучше, чем wxLocale, и вы можете использовать такой инструмент, как Qt-Linguist, который полностью интегрирован в систему qt).

Я использую wxpython в некоторых hobbistic работах, но я все еще там noob. Я думаю, что его большее преимущество перед pyqt состоит в том, чтобы иметь собственный внешний вид и чувствовать себя на разных платформах. Это огромный момент, если вы разрабатываете приложения windows/linux, например. На самом деле вы можете использовать "скины", чтобы получить собственный внешний вид и приложения с окнами-qt, но я не знаю, как это достичь (извините, я никогда не использовал qt для окон: D).

Ответ 3

Обратите внимание, что с января 2009 года, в то время как Qt 4.5 должен был быть доступен под LGPL, Riverbank Computing не сделал никаких заявлений о лицензировании будущих версий PyQt. PyQt по-прежнему остается commercial/GPLv2/GPLv3.

Как отмечается в комментариях к этому ответу, Nokia объявила о выпуске LGPL-лицензированного проекта PySide в августе 2009 года.

Ответ 4

Честно говоря, я не думаю, что люди будут массово переключаться с WxWidgets.

Для python существуют привязки PyQt и привязки WxPython. Несмотря на то, что Qt гораздо более практичен, чем WxWidgets, большинство программ с открытым исходным кодом на основе python GUI написаны с помощью WxWidgets. Поскольку эти программы имеют открытый исходный код, GPL vs LGPL не имеет большого значения в выборе инструментария.

То же самое касается Gtk. Многие приложения с открытым исходным кодом написаны в Gtk, на окнах, несмотря на то, что Gtk очень сложно работать с окнами. С Qt эти приложения будут намного проще поддерживать на кросс-платформенной основе, но этого не произошло.

Таким образом, выбор инструментария зависит от многих параметров, лицензирование является лишь одним из них.

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

Ответ 5

Qt - очень всеобъемлющая и высококачественная структура. Я уверен, что многие новые проекты, которые использовали wxWidgets, теперь будут использовать LGPL Qt. Но проекты, которые уже используют wxWidgets, несомненно, будут продолжать использовать wxWidgets, а не делать массивную перезапись.

Ответ 6

Я выбрал wxPython по двум основным причинам:

  • Boa Constructor, который по-прежнему является бета-продуктом, дает мне единый контроль над 100% процесса, тогда как PyQt действительно имеет лучший дизайнер, но нет никакой связи между редактированием "обработчиков событий".

Мой идеальный дизайн IDE, создает события, позволяет мне редактировать только необходимый функциональный код и запускать; без "компиляции UIC", без переключения редакторов, не входя в командную строку. Хотя для широкомасштабных приложений это очень мало, мой текущий домен - это быстрые и мелкомасштабные программы.

  1. Лицензирование... это не имеет значения прямо сейчас, но когда-нибудь я начну продавать свои вещи в небольших масштабах.

  2. Автозаполнение внутри функционального кода события, похоже, не работает в QTDesigner, для кода события. Я мог бы что-то пропустить, но описанный выше "сломанный" процесс не позволяет ему быть RAD.

Ответ 7

Я не смог настроить Qt для перекрестного компиляции. Я помню, что что-то видел у Trolltech, говоря, что они официально не поддерживают кросс-компиляцию, хотя я не могу ее найти сейчас.

Есть много руководств и таких подробностей, как заставить Qt перекрестно компилировать, поэтому его возможно (вероятно), что я делал что-то неправильно.

При выборе рамки я рекомендую рассмотреть и проверить свои возможности компиляции.