Является ли Qt 4 языком программирования? - PullRequest
13 голосов
/ 18 февраля 2011

Является ли Qt 4 языком программирования? Можно ли это рассматривать как замену Java и Python? Может ли оно использоваться для разработки пользовательского интерактивного программного обеспечения в Linux?

Ответы [ 5 ]

34 голосов
/ 18 февраля 2011

Qt вообще не является языком программирования.

«Qt - это кроссплатформенная среда разработки приложений для настольных, встраиваемых и мобильных устройств», говорит официальный сайт . Я ненавижу слово «каркас», хотя оно может относиться к слишком многим вещам, не столько к слову «система», сколько к тому, чтобы все запуталось. Буква «t» в «Qt» обозначает «инструментарий», который описывает его гораздо лучше. На самом деле это набор инструментов. Он также записывается как «Qt», а не «QT». Последний означает Apple QuickTime и имеет мало общего с программированием, хотя даже пользователи Qt часто делают эту ошибку.

Если описание Qt как инструментария на самом деле не проясняет вещи намного больше, чем слово "framework", вот неполный список инструментов, из которых состоит Qt:

  • Основным компонентом является набор библиотек, написанных изначально на C ++. Эти библиотеки включают в себя: базовую библиотеку, предоставляющую самые важные вещи, библиотеку графического интерфейса, которая удивительным образом предоставляет компоненты графического интерфейса, сетевую библиотеку, библиотеку XML и многое другое.
  • Инструмент MOC, представляющий собой программу для генерации стандартного кода на C ++ для использования вместе с некоторыми макросами, предоставляемыми базовой библиотекой. Это немного расширяет C ++, добавляя приятные функции, такие как более мощный RTTI, механизм сигналов / слотов, аналогичный событиям / делегатам в C #, позволяющий осуществлять безопасные обратные вызовы, механизм плагинов / интерфейсов, который обеспечивает способ расширения приложений путем реализации предопределенного интерфейса .
  • Инструмент конструктора GUI и UIC. Qt Designer - это графический инструмент для визуального создания графических интерфейсов и их сохранения в файлах XML, а UIC - инструмент командной строки для перевода этих файлов XML в код C ++.
  • Инструменты для интернационализации приложений, а именно Qt Linguist, инструмент lupdate и инструмент lrelease. lupdate извлекает текстовые строки для перевода из кода C ++ в XML-файл, Qt Linguist представляет собой графический инструмент для переводчика для редактирования этих XML-файлов и предоставления переводов, а lrelease компилирует переведенные тексты в двоичный файл для загрузки с помощью приложение Qt во время выполнения.
  • Инструмент компилятора ресурсов, используемый для интеграции различных файлов данных (например, изображений и звуков) в исполняемый файл, образуя в нем виртуальную файловую систему.
  • Инструмент qmake, используемый для автоматизации процесса сборки, поэтому вам не нужно запускать MOC, компилятор C ++, UIC и другие вещи вручную.
  • Qt Creator, графическая среда разработки для интеграции всего описанного выше в единую среду.

Программы, написанные на переносимом C ++ и использующие Qt, могут быть перекомпилированы без изменений для любой платформы, поддерживаемой Qt. Это включает в себя Windows (по крайней мере, XP и более поздние версии), Linux (практически любой дистрибутив), Mac, различные Unices, такие как FreeBSD, HP-UX, Solaris и многое, многое другое.

Родным языком Qt является C ++, но для других языков предусмотрены привязки, многие из них. Некоторые из этих привязок предоставляются Trolltech (ну, теперь это Nokia), некоторые сторонними разработчиками. Привязки - это не альтернативные реализации Qt для других языков, а специальные дополнения к этим языкам, позволяющие использовать двоичные файлы C ++ Qt. Это может привести ко многим проблемам, различиям в интерфейсе и различной неэффективности, но это не означает, что они не могут или не должны использоваться. Просто C ++ остается основным языком Qt.

3 голосов
/ 18 февраля 2011

QT - это структура приложения.Это позволяет создавать пользовательские интерфейсы, которые работают на нескольких платформах.Его можно использовать с несколькими разными языками программирования, используя привязки к языку.

Подробнее см. Здесь: http://en.wikipedia.org/wiki/Qt_(framework)

1 голос
/ 18 февраля 2011

QT - это фреймворк (например, .Net), который вы можете использовать в Mac OS X, Windows и Linux.Он использует язык C ++ и имеет хороший конструктор GUI.

1 голос
/ 18 февраля 2011

Qt - это фреймворк приложения. Он написан на языке C ++ и используется главным образом с ним.

0 голосов
/ 18 февраля 2011

NO . Это настолько кратко, насколько я могу выразиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...