Gtk + по сравнению со спокойными привязками к языку

Помещать вскоре: Для знакомых с привязками к языку в Qt и Gtk +. Например, Python и рубин. Есть ли какое-либо качество или различие в возможности?

Больше фона: Я знаю C++ и QT очень хорошо. Минимальный опыт с Gtk +. Я знаю, что C++ не идеален для привязок к языку из-за отсутствия четко определенного ABI (двоичный интерфейс приложений). Я также считал, что Gtk + был разработан, чтобы быть связанным с другими языками. Так интересно как этот manifets сам на практике. Gtk + привязка, лучше сохраняемая, или работают лучше в некотором роде, чем их спокойные дубликаты?

Я в настоящее время вполне интересуюсь языком Движения, и они начали разрабатывать Gtk + привязка. Однако привязка C++ далеко. Это заставляет меня задаться вопросом, стоит ли изучение Gtk + того.

8
задан Erik Engheim 11 May 2010 в 12:54
поделиться

4 ответа

Я довольно широко использовал 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.

9
ответ дан 5 December 2019 в 12:56
поделиться

Я работал и с PyQt, и с PyGTK, и я бы сказал, что они оба регулярно поддерживаются и синхронизируются со своими родительскими фреймворками. Однако, и это абсолютно субъективно, я нашел больше удовольствия от работы с PyGTK, чем с PyQt, даже если раньше я не писал никакого кода с использованием GTK. Если вы хорошо знаете Qt, выбирайте Qt.

1
ответ дан 5 December 2019 в 12:56
поделиться

Я думаю, что привязки GTK старше привязок Qt (и поэтому немного более зрелые), но они обе пригодны для использования, и ваше предыдущее знание Qt должно быть главным фактором в вашем выборе.

Я разрабатывал небольшие графические интерфейсы, используя как Qt, так и GTK с их привязками к python, и нашел их равноценными. Хотя я немного сожалею о привязке PyQt с контейнером Qt (QVector, ...), который не переводится в обычную структуру данных python и таким образом добавляет немного сложности в код. Я не помню таких же проблем при использовании PyGTK.

2
ответ дан 5 December 2019 в 12:56
поделиться

есть привязки C ++ gtk +. Google для gtkmm.

0
ответ дан 5 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

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