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

Разработка графического интерфейса: Qt vs GTK

Я новичок в программировании с графическим интерфейсом пользователя. Я код в основном на С++, и мне нужен мой код и графический интерфейс, чтобы быть независимым от ОС, поэтому, после некоторых исследований, я просто не могу решить между Qt или GTK. Я читал, что GTK более эффективен с точки зрения памяти, но некоторые сайты говорят, что это было до Qt 4. Также у Qt есть создатель IDt Qt, который, я думаю, является прекрасной средой IDE для С++. ¿Кто-нибудь знает больше о плюсах и минусах каждого из них? Благодаря

4b9b3361

Ответ 1

Yay, еще один вопрос Lib_One против Lib_Two. Я люблю отвечать на них.

Требования

Во-первых, нет идеального магического инструментария, который подходит всем. Ваш выбор должен основываться на том, что вы пытаетесь сделать.

  • Вам нужен GUI Toolkit? Или вы хотите создать полную инфраструктуру разработки приложений с API для графики, звука, изображения IO и т.д.?
  • Вы ориентируетесь на определенную платформу?
  • Вам нужны дополнительные глазные конфеты?
  • Что хочет ваш клиент?
  • Вы ориентируетесь на встроенные системы или на ПК?

Gui Toolkit

Оба GTK + и Qt являются значительно зрелыми объектно-ориентированными инструментами GUI. Они являются open-source, кросс-платформенными и имеют большие активные сообщества. GTK + используется в качестве стандартного инструментария для окружения GNOME, LXDE и Xfce Desktop, в то время как Qt используется для KDE. Оба они были использованы для разработки профессиональных приложений и проверены временем.

Кросс-платформенная совместимость

Оба инструментария поддерживают практически все основные платформы для ПК.

Поддерживаемые платформы:

  • Windows XP
  • Windows Vista​​li >
  • Windows 7
  • Mac OS X
  • Linux/Unix

Кроме того, Qt также поддерживает:

  • Symbian S60
  • Windows CE
  • WebOS
  • Android
  • Телефон Ubuntu

Производительность

Это серьезно спорно. GTK + евангелисты указывают на высокий уровень потребления памяти приложений Qt, в то время как поклонники Qt издеваются над временем запуска GTK. Но в целом нет большой разницы. Оба работают достаточно быстро на современных ПК.

Собственные ссылки на использование и язык

GTK + лицензируется LGPL, поэтому его можно использовать для проприетарных приложений. Qt имеет тройную лицензию на LGPL, GPL и патентованную лицензию. Если вы используете LGPL или покупаете проприетарную лицензию, вы можете использовать Qt для проприетарных приложений.

Оба инструментария имеют привязки для всех популярных языков. Известные привязки включают GTK #, С# Binding для GTK +, который был одобрен Mono Project. И Qt-Jambi, привязка Qt для Java, которая активно обновляется.

Ресурсы

Оба набора инструментальных средств широко документированы. GTK + имеет собственную документацию (GTK-Doc) и Qt, которые документируются компанией Nokia. Однако Qt может иметь небольшое преимущество здесь, потому что у него есть огромные ресурсы и рабочая сила огромной корпорации позади нее (Nokia), в то время как GTK + документируется только ее вкладчиками. Во многих местах в Интернете есть учебники по обоим из них. Я предпочитаю ZetCode.

Заключение

Как вы можете видеть, оба они более или менее хороши. Выбор действительно зависит от того, что я сделал раньше: каковы ваши требования?