Помещать вскоре: Для знакомых с привязками к языку в Qt и Gtk +. Например, Python и рубин. Есть ли какое-либо качество или различие в возможности?
Больше фона: Я знаю C++ и QT очень хорошо. Минимальный опыт с Gtk +. Я знаю, что C++ не идеален для привязок к языку из-за отсутствия четко определенного ABI (двоичный интерфейс приложений). Я также считал, что Gtk + был разработан, чтобы быть связанным с другими языками. Так интересно как этот manifets сам на практике. Gtk + привязка, лучше сохраняемая, или работают лучше в некотором роде, чем их спокойные дубликаты?
Я в настоящее время вполне интересуюсь языком Движения, и они начали разрабатывать Gtk + привязка. Однако привязка C++ далеко. Это заставляет меня задаться вопросом, стоит ли изучение Gtk + того.
Я довольно широко использовал GTK и Qt в C ++, а также PyGTK и PyQt в Python.
Qt превосходит GTK - это гораздо более гибкий, современный и чистый API. В GTK также отсутствуют некоторые важные для меня функции. С точки зрения фреймворка я бы рекомендовал Qt.
Что касается привязки языков (я могу говорить только о Python, поскольку я никогда не использовал эквиваленты Ruby), я думаю, что PyGTK (с использованием Glade и оболочки вроде Padraig Bradys libglade ) делает программирование с графическим интерфейсом безумно легко и весело. Однако, если вы можете использовать GPL для своего программного обеспечения (или заплатить лицензионный сбор), тогда PyQt также является хорошим вариантом, и хотя он не так удобен, как PyGTK + Glade (в этом случае с GTK вы можете определить свой пользовательский интерфейс в Glade как отдельный XML файл, поэтому вы можете настроить пользовательский интерфейс, не касаясь кода; в Qt, если вы хотите использовать QtDesigner, вам нужно сгенерировать код с помощью uic, если я правильно помню) сам API действительно действительно хорош в использовании и отражает чистый дизайн фреймворков Qt очень близко.
В целом, я бы, вероятно, порекомендовал использовать PyQt вместо PyGTK, но я могу быть предвзятым, так как в настоящее время я предпочитаю Qt, а не GTK, хотя вы можете попробовать оба и посмотреть, что вам больше нравится - они оба почти тривиальны для начала работы .
Если вы ищете отличную книгу по PyQt, я бы порекомендовал Быстрое программирование GUI на Python и Qt .
Подведем итог: IMHO Qt превосходит GTK как по качеству, так и по возможностям.И PyGTK, и PyQt имеют отличное качество, а возможности отражают базовую структуру, хотя PyGTK может загружать файлы Glade xml.
Я работал и с PyQt, и с PyGTK, и я бы сказал, что они оба регулярно поддерживаются и синхронизируются со своими родительскими фреймворками. Однако, и это абсолютно субъективно, я нашел больше удовольствия от работы с PyGTK, чем с PyQt, даже если раньше я не писал никакого кода с использованием GTK. Если вы хорошо знаете Qt, выбирайте Qt.
Я думаю, что привязки GTK старше привязок Qt (и поэтому немного более зрелые), но они обе пригодны для использования, и ваше предыдущее знание Qt должно быть главным фактором в вашем выборе.
Я разрабатывал небольшие графические интерфейсы, используя как Qt, так и GTK с их привязками к python, и нашел их равноценными. Хотя я немного сожалею о привязке PyQt с контейнером Qt (QVector, ...), который не переводится в обычную структуру данных python и таким образом добавляет немного сложности в код. Я не помню таких же проблем при использовании PyGTK.