В чем разница между GTK и QT?

Пожалуйста, потерпите меня, так как я новичок в Linux. Я писал программы с графическим интерфейсом на REALbasic на Mac уже несколько лет. Я пытаюсь изучать Python и хочу писать приложения с графическим интерфейсом для Linux (в первую очередь Ubuntu и Mint, так как они являются дистрибутивами, к которым у меня есть доступ, и они кажутся самыми популярными). У меня есть три вопроса:

  1. Существуют ли существенные различия между GTK и QT?
  2. Я играл с quickly а также Glade на Ubuntu, но я понимаю, что они основаны на GTK 2, и это сейчас устарело. Это верно?
  3. Существуют ли редакторы "все в одном", которые позволяют мне разрабатывать графический интерфейс, а затем добавлять к нему код Python? (например, добавьте кнопку в окно в редакторе, дважды нажмите кнопку, а затем добавьте код Python, который должен выполняться при нажатии кнопки)

Извините, если это действительно глупые вопросы, но я хочу начать изучать "правильные" инструменты с самого начала.

3 ответа

Решение

Я постараюсь ответить на ваши вопросы, не идя в безумных направлениях.

  1. Они значительно отличаются, хотя они оба являются виджетами. Обычный GTK+ основан на C, а QT на C++. Хотя привязки существуют практически для всех языков программирования.

  2. Вы совершенно правы в отношении GTK2, хотя есть много приложений GTK2. Я ожидаю, что GTK2 будет использоваться некоторое время, так же как и GTK1. Когда наступает пуш, GTK2 устарела, а если вы начинаете заново, переходите на GTK3.

  3. Remeber GTK и QT - это просто наборы виджетов. Например... Приложения Gnome, используйте GTK, а также Gnome-Libs. Если хочешь, взгляни на Вала. Считается простым, vala компилирует источник-источник непосредственно в C и имеет полные привязки для многих языков программирования. Вы также можете посмотреть на Anjuta, просто убедитесь, что у вас есть новые версии gtk3. Видимо пролив PyGTK поддерживает только GTK2, текущий последний раз я проверял. Если вы хотите избежать всех библиотек Linux DE, я бы посоветовал взглянуть на QT. Простой QT отличается от приложений KDE, которые включают библиотеки KDE. QT считается очень кроссплатформенным, что здорово, если вы хотите компилировать для не *nix. Если вы хотите начать работу с QT + Python, посмотрите на PySide (LGPL) или PyQT (GPL). В QT есть несколько хороших сборщиков графического интерфейса, таких как qt creator и qt-designer.

GTK и Qt - это кроссплатформенные наборы инструментов с открытым исходным кодом для пользовательского интерфейса и среды разработки. Это две наиболее популярные платформы, используемые в Linux, поскольку они имеют открытый исходный код и предоставляют разработчикам мощный инструментарий для разработки графических пользовательских интерфейсов. GTK используется в качестве стандартного инструментария для сред рабочего стола GNOME, LXDE и Xfce, а Qt - для KDE.

Если вы кодируете на C, то, очевидно, переходите на GTK+

Если вы пишете код на C++, переходите к Qt, в противном случае вам понадобится Gtkmm (оболочка C++ поверх GTK+)

Если вы пишете код на Python, то и GTK+, и Qt имеют привязки для языка: см. PyGtk, PyQt и PySide (тот, который был запущен самими Nokia).

Qt в основном используется в KDE и GTK+ в GNOME. Поэтому, если вы хотите разрабатывать для GNOME, рассмотрите GTK+, поскольку необходимые зависимости для библиотек GTK+ уже должны быть установлены в системе GNOME; конечному пользователю не нужно будет их устанавливать. Развитию GTK+ также помогает инструмент под названием Glade Interface Designer; если вы хотите, вы можете использовать это для создания пользовательских интерфейсов.

Другие вопросы по тегам