Qt — это бесплатная кросс-платформенная среда разработки приложений с открытым исходным кодом для настольных, встроенных и мобильных устройств. Он поддерживает различные платформы, такие как Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS и другие. Больше, чем язык программирования. Qt — это фреймворк, написанный на C ++.
Препроцессор, Meta-Object Compiler, используется для расширения языка C ++ такими функциями, как сигналы и слоты. Перед этапом компиляции MOC анализирует исходные файлы, написанные на расширенном Qt C ++, и генерирует из них исходные коды C ++, соответствующие стандарту. Таким образом, сам фреймворк и использующие его приложения / библиотеки могут быть скомпилированы любым стандартным компилятором C ++, таким как Clang, GCC, ICC, MinGW и MSVC.
В этой статье мы сначала опишем, как установить Qt Creator через командную строку. Затем мы объясним, как написать простую программу Qt Hello World и запустить ее:
- Командная строка
- Графический интерфейс компилятора Qt
Русские Блоги
Глава 3 Создание, компиляция, работа и анализ процесса выпуска проекта Qt (QT5.10.1)
Qt — Сборка и запуск приложения под Android
фигура 1
3.1 Qt Creator создает, компилирует и запускает проекты
Запустите Qt Creator.
Шаг 1. Создайте новый проект
(1) Файл -> Создайте новый файл или проект, и появится диалоговое окно. Мы выбираем Qt Widgets Application в проекте Application.
фигура 2
изображение 3
(2) Введите имя проекта: HelloWorld, а затем нажмите кнопку «Обзор», чтобы выбрать путь хранения исходного кода, например, вот F: File 2 Software 2-9 QT Code, Если выбран вариант «Установить как путь к проекту по умолчанию», все проекты, созданные в будущем, будут храниться здесь. Нажмите «Далее». Примечание: в пути к проекту не может быть китайского, иначе программа сообщит об ошибке.
Рисунок 4
(3) Выберите комплект сборки: DeskTop Qt 5.10.1 MinGw 32bit и нажмите «Далее».

Рисунок 5
(4) Имя настраиваемого класса: задайте имя класса HelloDialog, выберите QDialog в качестве базового класса и нажмите «Далее». Это показывает, что этот класс наследуется от класса QDialog, и диалоговый интерфейс может быть сгенерирован с использованием этого класса. Все классы в структуре Qt начинаются с «Q».

Изображение 6
Изучение Qt Creator | Урок #2 — Создание приложения на C++
(5) Настройте управление проектом: здесь вы можете увидеть сводную информацию по этому проекту, а также можете использовать систему контроля версий, которая здесь не задействована, просто нажмите «Готово».
Рисунок 7
Картинка 8
(6) Щелкните правой кнопкой мыши любой файл в списке файлов проекта, нажмите «Открыть в проводнике», вы можете перейти в папку проекта, давайте взглянем на каждый элемент в каталоге проекта. Описание файла:
Таблица 1
Шаг 2: Дизайн интерфейса
(1) Дважды щелкните файл hellodialog.ui в категории файлов интерфейса в списке файлов проекта в режиме редактирования Qt Creator, чтобы войти в режим разработки.
(2) Я не буду вдаваться в подробности о вводе интерфейса в режим дизайна здесь. Вы можете прочитать вторую страницу «Qt Creator Quick Start».
Рисунок 9
(3) Найдите компонент метки «Label» в области управления, перетащите его в интерфейс основной области дизайна, дважды щелкните, чтобы ввести его, введите компонент, войдите в состояние редактирования и введите «Hello World!» ! «строка. Вы также можете перетащить другой компонент кнопки «PushButton» в нижнюю часть метки, и текст на кнопке редактирования будет «ОК», как показано на следующем рисунке:

Картинка 10
Шаг 3: Скомпилируйте и запустите программу
(1) Комбинация клавиш Ctrl + R эквивалентна первой зеленой треугольной кнопке (компиляция и запуск) в нижнем левом углу. После ее нажатия программа начнет компилироваться, а в нижнем правом углу появится визуальный индикатор выполнения. .

Рисунок 11
(2) Если в предыдущей операции нет ошибок, нажмите кнопку «Выполнить», появится диалоговое окно с запросом на сохранение, просто нажмите «Сохранить». Затем созданное нами приложение Hello World уже запущено, и под Qt Creator появляется окно «вывод приложения», где есть кнопка с красным квадратом для завершения программы, или вы можете напрямую X закрыть окно HelloWorld.

Рисунок 12
Хорошо, QT Creator создан.
3.2 Командная строка для создания, компиляции и запуска проектов
Давайте посмотрим, как создать проект с помощью командной строки «Qt 5.6 для рабочего стола (MinGW 4.9.2 32 бит)». Примечание: Qt 5.10.1 для рабочего стола (MinGW 5.3.0 32 бит) — это терминал Qt, о котором я говорил, вы можете найти его в меню «Пуск»!
Шаг 1. Скомпилируйте файл пользовательского интерфейса из командной строки и создайте файл проекта .pro.
(1) Создайте новую папку в качестве папки проекта, я создал ее в корневом каталоге диска F, и имя папки hello. Примечание: китайский язык не может быть на пути.
(2) Скопируйте некоторые файлы в проекте, созданном Creator, в папку hello.
Рисунок 13
(3) Откройте Qt 5.10.1 для рабочего стола (MinGW 5.3.0 32 бит), выполните «f: cd f: hello», чтобы переключиться в каталог hello.
Рисунок 14
(4) Скомпилируйте файл пользовательского интерфейса. Используйте инструмент компиляции uic для создания файлов заголовков из файлов ui. Конкретные команды:
uic -o ui_hellodialog.h hellodialog.ui
(5) В это время в папке проекта создается файл заголовка, начинающийся с ui. Вы можете использовать команду «notepad ui_hellodialog.h», чтобы просмотреть его конкретное содержимое.
Примечание. Файл ui — это файл интерфейса, описанный на языке xml, то есть интерфейс, состоящий из тех компонентов, которые мы перетащили в режим разработки QtCreator. Задача этого шага — преобразовать файл пользовательского интерфейса в файл заголовка .h, понятный компилятору mingw.
Шаг 2. Создайте файл проекта .pro
(1) Используйте команду «qmake -project» для создания файла проекта pro, после чего вы увидите, что файл hello.pro был создан в каталоге hello, имя которого совпадает с именем папки проекта hello .
[Примечание]
qmake — это инструмент компиляции, предоставляемый Qt. Он может генерировать независимые от платформы файлы .pro, а затем использовать этот файл для создания файлов Makefile, связанных с платформой.
Файл Makefile содержит такую информацию, как целевой файл или исполняемый файл, который нужно создать, файлы, от которых зависит целевой файл, и команды, которые необходимо выполнить при создании каждого целевого файла. Наконец, используйте инструмент mingw32-make для завершения автоматической компиляции. Mingw32-make выполняет работу по компиляции, считывая содержимое Makefile. При использовании команды mingw32-make для каждого исходного файла создается соответствующий объектный файл .o, и, наконец, эти объектные файлы связываются для создания окончательного исполняемого файла.
(2) Используйте команду «notepad hello.pro», чтобы открыть файл hello.pro и добавить строку кода в конце:
QT += widgets
Нажмите Ctrl + S, чтобы сохранить файл. Эта строка кода означает: Необходимо добавить модуль виджетов. Поскольку классы, используемые в исходном файле, включены в этот модуль, например: класс QApplication, используемый в основной функции. Если ваша версия Qt — Qt4, включение этого модуля может вызвать ошибки, поэтому для обеспечения совместимости с Qt4 рекомендуется использовать следующие методы:
greaterThan(QT_MAJOR_VERSION,4): QT += widgets
Значит: если версия Qt больше 4, добавьте модуль виджетов. Обратите внимание на экономию!
Шаг 3. Компиляция командной строки для создания exe
(1) Ввод командной строки: qmake для создания файла Makefile для компиляции. После qmake создаются три файла и два каталога:
Dir:
debug
release // Скомпилированный exe-файл здесь
File:
Makefile // содержит информацию о компиляции
Makefile.Debug
Makefile.Release
(2) Введите команду «mingw32-make» для компиляции программы. После компиляции файл helloworld.exe появится в каталоге выпуска. (Если вы хотите скомпилировать отладочную версию, просто измените команду на: mingw32-make -f Makefile.Debug).
(3) Запустите программу для просмотра:. debug hello.exe (отладочная версия, используемая автором), программа работает отлично!
Рисунок 15
подводить итоги
- Понять роль файлов пользовательского интерфейса и освоить метод командной строки для преобразования файлов пользовательского интерфейса в файлы .h (uic).
- Qt Creator: шаги по созданию проекта. (Qt4 и Qt5 похожи друг на друга)
- Все операции в командной строке должны выполняться в папке проекта, например, в проекте hello.
- Освойте использование инструмента qmake, который будет использоваться позже при реализации HelloWorld в чистом коде.
- После создания файла проекта обратите внимание на добавление виджетов QT + =. (Большинство причин неудачной компиляции здесь!)
- Мы использовали некоторые часто используемые команды документа выше, такие как cd, dir и т. Д. Если у вас есть какие-либо сомнения по этому поводу, пожалуйста, внимательно проверьте информацию.Освоение некоторых команд документа может повысить эффективность работы.
- В приведенном выше содержании мы упомянули два способа запуска .exe в целом: Ctrl + R в QtCreator и форму. Debug hello.exe в командной строке (должно быть Qt 5.10.1 для рабочего стола).
В дополнение к двум вышеупомянутым методам вы также можете найти hello.exe в папке выпуска проекта и дважды щелкнуть его, чтобы запустить его. В это время появляется окно с сообщением об ошибке, сообщающее, что файл dll отсутствует. Решение заключается в следующем.Рисунок 16
[Примечание] После двойного щелчка по исполняемому файлу его нельзя открыть. Помимо копирования всех недостающих файлов DLL в каталог, где находится исполняемый файл, есть два следующих метода:
① Если вы не знаете, какие файлы DLL необходимы, вы можете использовать команду windeployqt, чтобы компьютер автоматически скопировал их за вас. Запустите инструмент командной строки Qt 5.10.1 для рабочего стола и выполните следующую команду: (замените e: app на путь к папке, в которой находится ваш exe)
windeployqt e:app
② Не копируйте файл dll, добавьте каталог D: QT5.10.1 5.10.1 mingw53_32 bin в переменную среды PATH (обратите внимание, что dll необходимо скопировать при публикации программы).
Метод: на рабочем столе — щелкните правой кнопкой мыши этот компьютер — выберите свойства — дополнительные параметры системы — переменные среды — дважды щелкните ПУТЬ, чтобы ввести путь редактирования состояния — добавить путь к корзине (пользователи win7 обращают внимание на точку с запятой)
3.3 Релиз программы
Давайте посмотрим, как создать проект с помощью командной строки «Qt 5.6 для рабочего стола (MinGW 4.9.2 32 бит)». Примечание: Qt 5.10.1 для настольных ПК (MinGW 5.3.0 32 бит)
Как упоминалось ранее, существует два способа компиляции: отладка и выпуск. Разница в том, что файлы, созданные при отладке, относительно большие.
После запуска проекта helloworld, созданного Qt Creator, папка build-HelloWorld-Desktop_Qt_5_10_1_MinGW_32bit-Debug по умолчанию создается в родительском каталоге helloworld. Здесь находятся все выходные файлы и исполняемый файл. При отладке он составляет около 1M;
Рисунок 17
Тогда исполняемый файл, скомпилированный командной строкой раньше, является версией выпуска по умолчанию, давайте посмотрим, ага! Всего 24К! Разрыв! Конечно, я не против, если вы захотите опубликовать более крупный вариант!
О, я также хочу сказать вам, что недостающие файлы dll двух версий exe после двойного щелчка также различаются. Эксперименты показывают, что для отладочной версии требуются очень большие файлы dll. Сто триллионов.
Итак, мы определили, что версия выпуска наиболее подходит для выпуска, поэтому мы начинаем следующие шаги с версии выпуска:
Шаг 1. Установите значок приложения (ICO)
Откройте проект helloworld в Qt Creator, установите для цели сборки значение Release в селекторе целей в нижнем левом углу и нажмите Ctrl + R для запуска!
(1) Давайте сначала создадим файл значка с суффиксом ico, а если его нет! Не паникуйте, найдите красивую картинку, нажмите здесь:
http://ico.duduxuexi.com/?security_verify_data=313336362c373638
После ввода переименуйте значок в «myico.ico» и сохраните файл значка в корневом каталоге проекта.

Рисунок 18

Рисунок 19
(2) Измените файл проекта. Дважды щелкните файл helloworld.pro в Qt Creator и добавьте следующую строку кода в конце:
···
RC_ICONS = myico.ico
···

Рисунок 20
(3) Запустить программу в режиме выпуска и посмотреть, есть ли значок?

Рисунок 21
Шаг 2: Создайте папку с программой
В этот раз дважды щелкните, чтобы запустить созданную программу, появится окно с ошибкой! Вам также необходимо сделать следующее, чтобы отправить его другим!
(1) Создайте новую папку для хранения файлов dll и исполняемых программ, используемых для выпуска программы. Мое место — F: app, и я копирую в него exe-файл, который находится в каталоге того же уровня, что и каталог проекта.
(2) Найдите отсутствующий файл dll в папке bin в установочном каталоге Qt. Например: этой программе необходимо скопировать libgcc_s_dw2-1.dll, libstdc ++ — 6.dll, libwinpthread-1.dll, Qt5Core.dll в каталог bin («D: QT5.10.1 5.10.1 mingw53_32 bin») Шесть файлов, Qt5Gui.dll и Qt5Widgets.dll.

Рисунок 22
(3) Кроме того, вам также необходимо скопировать папку D: QT5.10.1 5.10.1 mingw53_32 plugins platform и просто сохранить внутри файл qwindows.dll. !
(3) На этот раз дважды щелкните исполняемый файл, чтобы запустить его! (Вышеуказанные операции также можно выполнить из командной строки, см. Описание 1.①)
[Примечание] Если это исполняемый файл, созданный Debug, выберите файл, оканчивающийся на d, для шести файлов выше.
Шаг 3: Упакуйте папку и опубликуйте!
Хорошо, теперь вы можете поделиться им с другими!
Источник: russianblogs.com
Компиляция первой Qt Программы в Ubuntu
QT является бесплатной, и межплатформенной платформой разработки приложений с открытым исходным кодом для рабочего стола, встроенного и мобильного. Это поддерживает различные платформы, такие как Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry ОС и другие.
Больше, чем язык программирования. QT является платформой, записанной в C++. Перед шагом компиляции MOC анализирует исходные файлы, записанные в Расширенном до QT C++, и генерирует стандартные совместимые источники C++ от них. Таким образом сама платформа и приложения/библиотеки с помощью него могут быть скомпилированы любым стандартным совместимым компилятором C++ как GCC, ICC, MinGW и MSVC.
В этой статье мы сначала опишем, как установитьqtcreator через командную строку.