В чем разница между GTK и QT?
Пожалуйста, потерпите меня, так как я новичок в Linux. Я писал программы с графическим интерфейсом на REALbasic на Mac уже несколько лет. Я пытаюсь изучать Python и хочу писать приложения с графическим интерфейсом для Linux (в первую очередь Ubuntu и Mint, так как они являются дистрибутивами, к которым у меня есть доступ, и они кажутся самыми популярными). У меня есть три вопроса:
- Существуют ли существенные различия между GTK и QT?
- Я играл с
quickly
а такжеGlade
на Ubuntu, но я понимаю, что они основаны на GTK 2, и это сейчас устарело. Это верно? - Существуют ли редакторы "все в одном", которые позволяют мне разрабатывать графический интерфейс, а затем добавлять к нему код Python? (например, добавьте кнопку в окно в редакторе, дважды нажмите кнопку, а затем добавьте код Python, который должен выполняться при нажатии кнопки)
Извините, если это действительно глупые вопросы, но я хочу начать изучать "правильные" инструменты с самого начала.
3 ответа
Я постараюсь ответить на ваши вопросы, не идя в безумных направлениях.
Они значительно отличаются, хотя они оба являются виджетами. Обычный GTK+ основан на C, а QT на C++. Хотя привязки существуют практически для всех языков программирования.
Вы совершенно правы в отношении GTK2, хотя есть много приложений GTK2. Я ожидаю, что GTK2 будет использоваться некоторое время, так же как и GTK1. Когда наступает пуш, GTK2 устарела, а если вы начинаете заново, переходите на GTK3.
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; если вы хотите, вы можете использовать это для создания пользовательских интерфейсов.