С каждым годом становится все больше операционных систем, и потому разработчикам все труднее удовлетворять потребности пользователей. Три самые популярные компьютерные платформы — Windows, Linux и Mac OS, а также три мобильные — Android, iOS и Windows Mobile — продолжают активно бороться между собой. А это значит, что качественное приложение должно работать на всех основных платформах.
Справиться с этой проблемой помогает кроссплатформенная разработка. Об одной из самых популярных кроссплатформенных сред разработки — Qt Creator — и пойдёт речь в этой статье. Мы рассмотрим как выполняется установка и настройка Qt Creator, а также как работать в Qt Creator.
Qt Creator (не так давно имевший название Greenhouse) — это одна из самых распространенных кроссплатформенных IDE. Ее плюсы — удобство, быстрота работы, а также — свободность, так как это ПО с открытым исходным кодом. Поддерживаются такие языки, как C, С++, QML.
Программа была написана компанией под названием Trolltech, которая в полной мере выполнила цель создания среды — работу с графическим фреймворком Qt. Удобный графический интерфейс с поддержкой Qt Widgets и QML, а также большое число поддерживаемых компиляторов позволяют быстро и удобно создать свое кроссплатформенное приложение.
Главная задача этой IDE — обеспечить наиболее быструю кроссплатформенную разработку, используя собственный фреймворк. Благодаря этому разработчики получают прекрасную возможность не писать приложения нативно (т. е. отдельно под каждую платформу), а создать общий код, и, возможно, подогнать его под особенности используемых ОС.
Qt Creator также включает в себя утилиту Qt Designer, что позволяет обработать внешний вид окна приложения, добавляя и перетаскивая элементы (аналогично Windows Forms в Visual Studio). В качестве систем сборки используются qmake, cmake и autotools.
Установка Qt Creator
Итак, пора рассмотреть как установить Qt Creator. Если для Windows разработчики позаботились и сделали оффлайн-установщик, то в Linux 32-bit этой возможности не предусмотрено. Поэтому во время установки вам может потребоваться стабильное интернет-соединение (~20-30 минут). Для начала скачаем установщик:
- Скачать Qt Creator для Linux 32-bit (нажимаем «View other options»).
- Скачать Qt Creator для Linux 64-bit.
После окончания загрузки переходим в папку с файлом, нажимаем правой кнопкой мыши и выбираем пункт «Свойства».
Теперь перейдем на вкладку «Права» и поставим галочку «Разрешить запуск этого файла в качестве программы».
Запускаем программу.
Теперь нажимаем «Next».
Здесь необходимо выбрать существующий аккаунт или создать его. Данное действие необходимо для проверки лицензии (коммерческой или некоммерческой).
Нажимаем «Next».
Выбираем директорию, в которой будет находиться Qt. Важно, чтобы в пути не было кириллицы и пробелов!
В этом меню находится выбор компонентов. К примеру, можно выбрать установку инструментов для разработки на Android, или же исходных компонентов (это нужно для статической сборки, если кому-то это нужно — напишите в комментариях, и я напишу отдельную статью). Если Вы не уверены, нужны Вам эти компоненты или нет, оставьте их пока так — даже после установки Qt будет возможным удаление и добавление элементов.
В этом окне принимаем лицензию. Жмем «Next».
Если Вы готовы, начинайте установку. У Вас запросят пароль суперпользователя (sudo), после чего начнется скачивание и извлечение файлов. Альтернативный способ — установка через терминал. Для начала необходимо обновить список пакетов.
sudo apt update
Скачиваем и устанавливаем Qt:
sudo apt install qt5-default
Теперь установка Qt Creator:
sudo apt install qtcreator
И, если нужно, исходники.
sudo apt install qtbase5-examples qtdeclarative5-examples
Настройка Qt Creator
После окончания установки перезагрузите компьютер и запустите Qt Creator. Перейдите в меню «Инструменты» -> «Параметры».
Здесь следует рассмотреть несколько вкладок.
1. Среда — это настройка внешнего вида самой IDE, а также изменение сочетаний клавиш и управление внешними утилитами.
2. Текстовый редактор — здесь идет настройка внешнего вида, шрифтов и расцветки редактора.
3. C++ — подсветка синтаксиса, работа с расширениями файлов и UI (т. е. формами).
4. Android — здесь собраны пути к необходимым инструментам, а также в этом меню настраиваются подключаемые или виртуальные устройства.
Установка компонентов Qt Creator
Если вдруг так случилось, что Вы забыли установить какой-то компонент, или, наоборот, хотите его удалить, то на помощь придет Qt Maintenance Tool. Это инструмент, позволяющий управлять всеми компонентами Qt Creator.
Чтобы запустить его, перейдите в меню приложений, выберите пункт «Разработка» -> «Qt Maintenance Tool».
Выберите необходимый пункт (Удалить/добавить компоненты, обновить компоненты или удалить Qt). После выполните необходимые операции и закройте окно.
Работа с Qt Creator — первый проект
Ну что же, час пробил! Установка Qt Creator завершена. Пора сделать свое первое кроссплатформенное приложение на Linux, а затем скомпилировать его на Windows. Пусть это будет… программа, выводящая иконку Qt, кнопку и надпись, на которую по нажатию кнопки будет выводиться случайная фраза. Проект несложный, и, конечно же, кроссплатформенный!
Для начала откроем среду разработки. Нажмем «Файл» -> «Создать файл или проект…». Выберем приложение Qt Widgets — его быстро и удобно сделать. А название ему — «Cross-Platphorm». Вот как!
Комплект — по умолчанию. Главное окно тоже оставляем без изменений. Создаем проект.
Для начала необходимо настроить форму — главное окно приложения. По умолчанию оно пустое, но это не останется надолго.
Перейдем в папку «Формы» -> «mainwindow.ui». Откроется окно Qt Designer:
Удаляем панель меню и панель инструментов на форму, нажав правой кнопкой мыши и выбрав соответствующий пункт. Теперь перетаскиваем элементы Graphics View, Push Button и Label таким образом:
Чтобы изменить текст, дважды кликните по элементу. В свойствах Label (справа) выбираем расположение текста по вертикали и по горизонтали — вертикальное.
Теперь пора разобраться с выводом иконки. Перейдем в редактор, слева кликнем по любой папке правой кнопкой мыши и выберем «Добавить новый…». Теперь нажимаем «Qt» -> «Qt Resource File». Имя — res. В открывшемся окне нажимаем «Добавить» -> «Добавить префикс», а после добавления — «Добавить файлы». Выбираем файл, а в появившемся окне «Неверное размещение файла» кликаем «Копировать».
Получилось! Сохраняем все. Снова открываем форму. Кликаем правой кнопкой мыши по Graphics View, выбираем «styleSheet…» -> «Добавить ресурс» -> «background-image». В левой части появившегося окна выбираем prefix1, а в правой — нашу картинку. Нажимаем «ОК». Настраиваем длину и ширину.
Все! Теперь можно приступать к коду. Клик правой кнопкой мыши по кнопке открывает контекстное меню, теперь надо нажать «Перейти к слоту…» -> «clicked()». В окне набираем следующий код:
Или вы можете скачать полный проект на GitHub. Работа с Qt Creator завершена, нажимаем на значок зеленой стрелки слева, и ждем запуска программы (если стрелка серая, сначала нажмите на значок молотка). Запустилось! Ура!
Выводы
Установка и настройка Qt Creator завершена. Теперь вы сможете создавать свои программы под огромное число платформ, оставляя код нетронутым! Кстати, установив Qt на Windows, вы сможете скомпилировать этот проект и там. Удачи вам!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
В 1995 году вышла первая версия Qt, инструментария для разработки, который выгодно отличался тем, что предоставлял одинаковый API для разработки как в Windows так и в LInux. С тех пор многое поменялось, теперь вы можете использовать этот Qt5 совершенно бесплатно, при условии динамической линковки с библиотеками фреймворка.
Для создания программ на Qt5 под Windows потребуется MinGW – минималистическая среда разработки программ под Windows. А для установки мы будем использовать MSYS2 – надстройку над MinGW.
Введение
Инструментарий программиста за время с конца XX века претерпел множество изменений. В начале 90-х, когда я только знакомился с программированием, практический весь инструментарий для разработки ПО, в нашей стране, был «пиратским». Не было рынка программного обеспечения (ПО) и соответственно все пользовались тем, что продавалось на «Горбушке» и у «пиратов» на дискетах или дисках. В тоже время на западе практически все популярные среды для разработки ПО, например Borland Pascal, Borland C++, Delphi, C++ Builder и т.д. были платными.
Время шло, развивалось не только платное (проприетарное), но и свободно распространяемое программное обеспечение — это системы Unix/Linux и все производные от них. Развивался инструментарий для разработки для этих систем и, что самое главное, он был бесплатным. Сегодня, для того чтобы создать программу, необязательно тратить крупные суммы на покупку IDE для разработчика.
Qt5 предоставляет удобный и бесплатный инструментарий для разработки ПО на языке C++. Программы, написанные с помощью данного фреймворка, имеют нативный интерфейс что на Windows, что на Linux, а значит программисту не нужно заботиться о «подгонке» дизайна под конкретную ОС или дистрибутив.
Когда я первый раз устанавливал Qt5 c помощью MSYS2 я столкнулся со целым рядом проблем в процессе установки и настройки и это с учетом использования официального гайда по установке. В этой статье я по шагам опишу процесс установки, так что вы сможете без проблем установить среду разработки на ваш ПК.
Внимание! Чтобы избежать проблем и непонятных глюков, я настоятельно рекомендую удалить старые версии MinGW, если они установлены и Git for Windows. А также почистить переменные среды, удалив все старые ссылки на MinGW. В противном случае могут возникать конфликты и глюки при использовании разных версий библиотек и программ.
Установка
Прежде всего нужно скачать MSYS2. Идем на официальный сайт https://www.msys2.org/ и скачиваем дистрибутив для Windows.
Мы будет ставить 64-битную версию. На момент написания руководства, это версия msys2-x86_64-20190524.exe.
Рекомендую ставить msys2 в корень любого диска. По умолчанию он ставиться в папку c:msys64 или c:msys32.
Процесс установки элементарен, так что описывать его я не буду. Просто жмем “Далее”, а когда процесс закончиться – Завершить.
Откроется окно консоли Msys2
Базовая система у нас установлена, переходим к следующему этапу – обновлению.
Обновление
Сразу после установки нужно запустить обновление системы Msys2. Для этого в консоли пишем:
pacman –Syu
Начнется подготовка к обновлению:
$ pacman -Syu :: Обновление баз данных пакетов... mingw32 454,0 KiB 257K/s 00:02 [#####################] 100% mingw32.sig 119,0 B 0,00B/s 00:00 [#####################] 100% mingw64 456,6 KiB 365K/s 00:01 [#####################] 100% mingw64.sig 119,0 B 7,26K/s 00:00 [#####################] 100% msys 183,1 KiB 619K/s 00:00 [#####################] 100% msys.sig 119,0 B 0,00B/s 00:00 [#####################] 100% :: Starting core system upgrade... предупреждение: terminate other MSYS2 programs before proceeding разрешение зависимостей... проверка конфликтов... Пакеты (8) bash-4.4.023-2 filesystem-2020.02-2 libzstd-1.4.4-2 mintty-1~3.1.4-1 msys2-runtime-3.0.7-6 pacman-5.2.1-6 pacman-mirrors-20200307-1 zstd-1.4.4-2 Будет загружено: 16,51 MiB Будет установлено: 65,35 MiB Изменение размера: -4,37 MiB :: Приступить к установке? [Y/n] y
В процессе обновления будет выдан запрос на установку, нажимаем Y и Enter
:: Получение пакетов... msys2-runtime-3.0.7... 2,6 MiB 437K/s 00:06 [#####################] 100% bash-4.4.023-2-x86_64 1934,3 KiB 362K/s 00:05 [#####################] 100% filesystem-2020.02-... 44,9 KiB 0,00B/s 00:00 [#####################] 100% mintty-1~3.1.4-1-x86_64 668,9 KiB 317K/s 00:02 [#####################] 100% pacman-mirrors-2020... 20,0 KiB 0,00B/s 00:00 [#####################] 100% libzstd-1.4.4-2-x86_64 259,0 KiB 221K/s 00:01 [#####################] 100% zstd-1.4.4-2-x86_64 304,7 KiB 205K/s 00:01 [#####################] 100% ошибка: не удалось получить файл 'pacman-5.2.1-6-x86_64.pkg.tar.xz' из repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds ошибка: не удалось получить файл 'pacman-5.2.1-6-x86_64.pkg.tar.xz' из sourceforge.net : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds pacman-5.2.1-6-x86_64 4,8 MiB 1597K/s 00:03 [#####################] 100% (8/8) проверка ключей [#####################] 100% (8/8) проверка целостности пакета [#####################] 100% (8/8) загрузка файлов пакетов [#####################] 100% (8/8) проверка конфликтов файлов [#####################] 100% (8/8) проверка доступного места [#####################] 100% предупреждение: не удалось получить информацию о файле для clang32/ предупреждение: не удалось получить информацию о файле для clang32/bin/ предупреждение: не удалось получить информацию о файле для clang32/etc/ предупреждение: не удалось получить информацию о файле для clang32/etc/config.site предупреждение: не удалось получить информацию о файле для clang32/include/ предупреждение: не удалось получить информацию о файле для clang32/lib/ предупреждение: не удалось получить информацию о файле для clang32/share/ предупреждение: не удалось получить информацию о файле для clang64/ предупреждение: не удалось получить информацию о файле для clang64/bin/ предупреждение: не удалось получить информацию о файле для clang64/etc/ предупреждение: не удалось получить информацию о файле для clang64/etc/config.site предупреждение: не удалось получить информацию о файле для clang64/include/ предупреждение: не удалось получить информацию о файле для clang64/lib/ предупреждение: не удалось получить информацию о файле для clang64/share/ предупреждение: не удалось получить информацию о файле для opt/ :: Обработка изменений пакета... (1/8) обновление msys2-runtime [#####################] 100% (2/8) обновление bash [#####################] 100% (3/8) обновление filesystem [#####################] 100% (4/8) обновление mintty [#####################] 100% (5/8) обновление pacman-mirrors [#####################] 100% (6/8) установка libzstd [#####################] 100% (7/8) установка zstd [#####################] 100% (8/8) обновление pacman [#####################] 100% предупреждение: terminate MSYS2 without returning to shell and check for updates again предупреждение: for example close your terminal window instead of calling exit
У меня посыпались множественные ошибки, в этом нет ничего страшного, просто закрываем окно консоли, на предупреждение нажимаем «ОК» и запускаем её снова.
Идем в папку C:msys64 и запускаем msys2.exe
В консоли вводим:
pacman -Su
$ pacman -Su :: Starting core system upgrade... делать больше нечего :: Запускается полное обновление системы... разрешение зависимостей... проверка конфликтов... Пакеты (52) bash-completion-2.10-1 brotli-1.0.7-2 bsdcpio-3.4.2-2 bsdtar-3.4.2-2 bzip2-1.0.8-1 ca-certificates-20190110-1 coreutils-8.32-1 curl-7.69.0-1 dtc-1.6.0-1 file-5.38-2 findutils-4.7.0-1 gawk-5.0.1-1 gcc-libs-9.1.0-2 glib2-2.54.3-2 gmp-6.2.0-1 gnupg-2.2.19-1 heimdal-libs-7.7.0-1 icu-65.1-1 less-551-1 libarchive-3.4.2-2 libbz2-1.0.8-1 libcurl-7.69.0-1 libedit-20191231_3.1-1 libexpat-2.2.9-1 libgcrypt-1.8.5-1 libgnutls-3.6.12-1 libgpg-error-1.37-1 libgpgme-1.13.1-2 libhogweed-3.5.1-1 libiconv-1.16-1 libidn2-2.3.0-1 liblz4-1.9.2-1 libnettle-3.5.1-1 libnghttp2-1.40.0-1 libopenssl-1.1.1.d-1 libp11-kit-0.23.20-1 libpcre2_8-10.34-1 libpsl-0.21.0-1 libreadline-8.0.004-1 libsqlite-3.30.0-1 libssh2-1.9.0-1 libtasn1-4.16.0-1 libutil-linux-2.35-1 libxml2-2.9.10-2 libxslt-1.1.34-1 ncurses-6.2-1 nettle-3.5.1-1 openssl-1.1.1.d-1 p11-kit-0.23.20-1 pkgfile-21-1 sed-4.8-1 util-linux-2.35-1 Будет загружено: 36,58 MiB Будет установлено: 208,87 MiB Изменение размера: 7,09 MiB :: Приступить к установке? [Y/n]
В процессе обновления будет выдан запрос на установку, нажимаем Y и Enter
Начнется процесс скачивания обновлений и их установки, он может занять длительно время (здесь и далее я, я буду сокращать вывод команд установки и обновления):
:: Получение пакетов... bash-completion-... 211,6 KiB 242 KiB/s 00:01 [#####################] 100% ... util-linux-2.35-... 1509,4 KiB 233 KiB/s 00:06 [#####################] 100% (52/52) проверка ключей [#####################] 100% (52/52) проверка целостности пакета [#####################] 100% (52/52) загрузка файлов пакетов [#####################] 100% (52/52) проверка конфликтов файлов [#####################] 100% (52/52) проверка доступного места [#####################] 100% :: Обработка изменений пакета... ( 1/52) обновление bash-completion [#####################] 100% ... (52/52) обновление util-linux [#####################] 100%
Мы обновили базовую систему и все основные пакеты.
Для начала проверим, что се обновилось корректно, для этого поставим Git, он нам в любом случае понадобиться.
pacman -S git
$ pacman -S git разрешение зависимостей... проверка конфликтов... Пакеты (35) db-5.3.28-2 expat-2.2.9-1 gdbm-1.18.1-2 heimdal-7.7.0-1 libgdbm-1.18.1-2 openssh-8.2p1-1 perl-5.30.1-1 perl-Authen-SASL-2.16-2 perl-Convert-BinHex-1.125-1 perl-Encode-Locale-1.05-1 perl-Error-0.17029-1 perl-File-Listing-6.04-2 perl-HTML-Parser-3.72-4 perl-HTML-Tagset-3.20-2 perl-HTTP-Cookies-6.08-1 perl-HTTP-Daemon-6.01-2 perl-HTTP-Date-6.05-1 perl-HTTP-Message-6.22-1 perl-HTTP-Negotiate-6.01-2 perl-IO-Socket-SSL-2.066-1 perl-IO-stringy-2.111-1 perl-LWP-MediaTypes-6.02-2 perl-MIME-tools-5.509-1 perl-MailTools-2.21-1 perl-Net-HTTP-6.19-1 perl-Net-SMTP-SSL-1.04-1 perl-Net-SSLeay-1.88-1 perl-TermReadKey-2.38-1 perl-TimeDate-2.32-1 perl-Try-Tiny-0.30-1 perl-URI-1.76-1 perl-WWW-RobotRules-6.02-2 perl-libwww-6.43-1 vim-8.2.0121-1 git-2.25.1-1 Будет загружено: 28,99 MiB Будет установлено: 140,40 MiB :: Приступить к установке? [Y/n] y :: Получение пакетов... expat-2.2.9-1-x86_64 43,7 KiB 16,7 KiB/s 00:03 [#####################] 100% ... git-2.25.1-1-x86_64 5,3 MiB 352 KiB/s 00:16 [#####################] 100% (35/35) проверка ключей [#####################] 100% (35/35) проверка целостности пакета [#####################] 100% (35/35) загрузка файлов пакетов [#####################] 100% (35/35) проверка конфликтов файлов [#####################] 100% (35/35) проверка доступного места [#####################] 100% :: Обработка изменений пакета... ( 1/35) установка expat [#####################] 100% ... (35/35) установка git [#####################] 100% Дополнительные зависимости для 'git' python2: various helper scripts subversion: git svn
Установка C++
Приступим к установке библиотек и утилит необходимых для разработки.
Запускаем
pacman -S base-devel git mercurial cvs wget p7zip
$ pacman -S base-devel git mercurial cvs wget p7zip :: 58 объектов в группе base-devel: :: Repository msys 1) asciidoc 2) autoconf 3) autoconf2.13 4) autogen 5) automake-wrapper 6) automake1.10 7) automake1.11 8) automake1.12 9) automake1.13 10) automake1.14 11) automake1.15 12) automake1.16 13) automake1.6 14) automake1.7 15) automake1.8 16) automake1.9 17) bison 18) btyacc 19) diffstat 20) diffutils 21) dos2unix 22) file 23) flex 24) gawk 25) gdb 26) gettext 27) gettext-devel 28) gperf 29) grep 30) groff 31) help2man 32) intltool 33) lemon 34) libtool 35) libunrar 36) libunrar-devel 37) m4 38) make 39) man-db 40) pacman 41) pactoys-git 42) patch 43) patchutils 44) perl 45) pkg-config 46) pkgfile 47) quilt 48) rcs 49) reflex 50) scons 51) sed 52) swig 53) texinfo 54) texinfo-tex 55) ttyrec 56) unrar 57) wget 58) xmlto Выберите вариант (по-умолчанию=все):
Нажимaем Enter
... разрешение зависимостей... проверка конфликтов... Пакеты (79) docbook-xml-4.5-2 docbook-xsl-1.79.2-1 libatomic_ops-7.6.10-1 libgc-7.6.8-1 libguile-2.2.6-1 libiconv-devel-1.16-1 ... rcs-5.9.4-2 reflex-20191123-1 scons-3.1.2-2 sed-4.8-1 swig-4.0.1-1 texinfo-6.6-1 texinfo-tex-6.6-1 ttyrec-1.0.8-2 unrar-5.9.1-1 wget-1.20.3-1 xmlto-0.0.28-2 Будет загружено: 53,08 MiB Будет установлено: 428,84 MiB Изменение размера: 281,34 MiB :: Приступить к установке? [Y/n]
Нажимаем Y и Enter
Ждем загрузки и установки компонентов.
Далее запускаем:
pacman -S perl ruby python2 mingw-w64-x86_64-toolchain
предупреждение: perl-5.30.1-1 не устарел -- переустанавливается :: 17 объектов в группе mingw-w64-x86_64-toolchain: :: Repository mingw64 1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git 3) mingw-w64-x86_64-gcc 4) mingw-w64-x86_64-gcc-ada 5) mingw-w64-x86_64-gcc-fortran 6) mingw-w64-x86_64-gcc-libgfortran 7) mingw-w64-x86_64-gcc-libs 8) mingw-w64-x86_64-gcc-objc 9) mingw-w64-x86_64-gdb 10) mingw-w64-x86_64-headers-git 11) mingw-w64-x86_64-libmangle-git 12) mingw-w64-x86_64-libwinpthread-git 13) mingw-w64-x86_64-make 14) mingw-w64-x86_64-pkg-config 15) mingw-w64-x86_64-tools-git 16) mingw-w64-x86_64-winpthreads-git 17) mingw-w64-x86_64-winstorecompat-git Выберите вариант (по-умолчанию=все):
Нажимaем Enter
разрешение зависимостей... проверка конфликтов... Пакеты (48) libyaml-0.2.2-1 mingw-w64-x86_64-bzip2-1.0.8-1 mingw-w64-x86_64-ca-certificates-20190110-1 mingw-w64-x86_64-expat-2.2.9-1 mingw-w64-x86_64-gettext-0.19.8.1-8 ... mingw-w64-x86_64-winpthreads-git-8.0.0.5574.33e5a2ac-1 mingw-w64-x86_64-winstorecompat-git-8.0.0.5573.a4de8df4-1 perl-5.30.1-1 python2-2.7.17-1 ruby-2.6.5-1 Будет загружено: 161,54 MiB Будет установлено: 1046,35 MiB Изменение размера: 995,82 MiB :: Приступить к установке? [Y/n]
Нажимаем Y и Enter
Ждем загрузки и установки компонентов.
Установка нужных базовых компонентов завершена.
Запустим установку Qt5, в консоли введем:
pacman -S mingw-w64-x86_64-qt-creator mingw-w64-x86_64-clang
Обратите внимание, что загрузка и установка этих компонентов занимает много времени!
Ждем окончания скачивания и установки всех компонентов.
Установка qtcreator завершена, теперь нужно провести дополнительные настройки:
В консоли введем команду:
rundll32 sysdm.cpl,EditEnvironmentVariables
откроется окно «Переменные среды»
Выбираем переменную Path и нажимаем Изменить
Нажимаем «Создать» и прописываем
C:msys64mingw64bin
Закрываем консоль
Запуск Qt Creator
Запустим обычную консоль cmd.exe
И введём
qtcreator
Если всё сделано правильно, запустится IDE Qt Creator:
Сменим язык на английский, вы можете использовать и русский, но при возникновении проблем, проще будет найти информацию на английском.
Выберем меню Инструменты-> Параметры
Выберем пункт Среда и поле Язык выставим English
Теперь осталось только перезапустить Qt Creator
После перезапуска интерфейс среды разработки изменится на Английский.
Создадим новый проект
File –> New File or Project
Выбираем Application -> Qt Widgets Application и нажимаем на «Choose …»
В этом окне вы можете выбрать папку и название проекта, назовем проект qt_test
Далее нажимаем Next четыре раза
Теперь нам нужно выбрать Kit – набор разработчика. Выбираем Desktop Qt MinGW-w64 64bit (MSYS2)
Далее нажимаем Next и Finish
Теперь осталось только запустить сборку проекта, для того, чтобы проверить, что всё верно настроено.
Нажимаем Ctrl+r
Получаем ошибку, связанную с Vulkan SDK, в открывшемся окне жмем Yes. Эту ошибку можно смело проигнорировать.
У нас должно открыться пустое окно:
Вот и всё. Среда настроена и готова к использованию.
Заключение
Установка среды разработки и настройка Qt Creator не представляет больших проблем, но есть некоторые подводные камни и неочевидные вещи. Руководствуясь материалами данной статьи, вы сможете установить Qt5 на свой ПК и использовать Qt Creator, для разработки ПО.
Пару слов о том для чего это понадобилось вообще: у меня была простая ситуация — не было быстрого интернета и был компьютер с начисто установленной windows 10. К тому же проект, который ковыряю, требует сборки как под 32 так и под 64 битную архитектуру, поэтому мне показалось что наличие Qt, одинаково сконфигуренного и скомпилированного под эти архитектуры будет только плюсом.
0) Желательно заранее отрубить службы Windows Search и Superfetch и защитник винды. Они на наших операциях будут только тормозить систему, а ресурсы нам скоро понадобятся. Кроме того очень полезно сделать языком ввода по умолчанию английский.
1) Создаем папку «C:QT» — тут будут жить наши сборки.
2) Для начала нам конечно же понадобится сам компилятор mingw-w64. Качаем инсталлер тут.
3) Устанавливаем по очереди обе версии:
первая установка:
Version — 5.2.0 — последняя на момент написания статьи;
Architecture — i686 — сначала ставим 32 битную версию (пускай вас не пугает что оно не i386, i686 это Интел пентиум про и выше, сумеете запустить 2k винду на чем то более древнем — удачи!)
Threads — win32 — если не портируете исходники с юниксов лучше выбрать нативные;
Exeption — sjlj — мне нужно так, если вам нужны другие — бога ради;
Build revision — 1 опять же последняя на момент написания статьи;
Назначение выбрал «C:mingw-w64-i686» ибо из Program Files могут быть проблемы с пробелами в путях у qt.
Вторая установка все то же самое кроме:
Architecture — x86_64;
Путь «C:mingw-w64-x86_64»;
Я так же убрал галку «создать ярлыки», иначе они перезапишутся 64 битной версией, мне это неудобно.
Если не хотите плодить много папок в корне ставить можно в «C:QTmingw-w64-i686» и «C:QTmingw-w64-x86_64» соответвенно архитектурам, роли это не играет.
4) Качаем исходники бибилиотеки QT 4.8.7 тут
5) Распаковываем сам Qt (тут лучше заранее озаботится наличием программы 7zip ибо виндовый архиватор сначала будет распаковывать во временную папку, потом копировать из нее туеву хучу мелких файлов, идиот, а потом ещё и создаст дополнительную папку внутри с тем же именем) сразу в 2 копии «C:QTqt-4.8.7-mingw-w64-i686» и «C:QTqt-4.8.7-mingw-w64-x64» (вторая нужна на случай ошибок при конфигуре, гораздо быстрее переименовать копию и пустить фоном распаковываться ещё одну, чем ждать пока отработает mingw32-make confclean). Если не уверены в архиваторе проверяем чтобы в этих папках сразу были папки bin, util, src и т.д., если архиватор создал ещё одну вложенную — вытаскиваем содержимое на уровень выше.
6) Идем в свойства системы и меняем переменную PATH (надо же в моей 10-ке сделали нормальный интерфейс для этого) добавляем туда путь пока только к 32 битной версии компилятора, у меня это: «C:mingw-w64-i686mingw32bin». Если вдруг у вас в PATH есть пути к другим компиляторам временно убираем их оттуда.
7) Запускаем cmd от админа (это важно) и вводим:
g++ -v
должна появится инфа о компиляторе, если этого не произошло значит компиль установлен неправильно, ищем ошибку на предыдущих шагах. Если вывелась информация проверяем, что мы ничего не напутали: у нас запускается действительно 32 битная версия, и что она именно та которую мы установили на предыдущих шагах, а не из оригинального mingw без w64 (это по сути разные проекты) или, прости господи, вижуал студии.
Если все нормально переходим в папку с Qt:
cd C:QTqt-4.8.7-mingw-w64-i586
запускаем там конфигур как-то так:
.configure -debug-and-release -opensource -confirm-license -platform win32-g++ -graphicssystem raster -no-openssl -nis -iconv -system-proxies -no-freetype -plugin-sql-odbc -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -qt-style-windowsce -qt-style-windowsmobile -qt-style-s60
в этом конфиге по максимому все что можно собрать без зависимостей. Мне openssl не очень нужен, иначе его нужно собрать заранее. Если критично время можно отключить примеры, не собирать дополнительные темы и odbc плагин. Справку по опциям можно получить так: «.configure -help». Далее ждем несколько минут пока отработает конфигур, и запускаем компиляцию:
mingw32-make -j4
у меня 4 ядерный процессор по этому опция -j4 она обозначает делать компиляцию в 4 потока. Сразу оговорюсь, компиляция с этой опцией до конца не проходит, грохается на qtdeclarative с ошибкой копирования файла, видимо где то неправильно прописаны зависимости. Мне достаточно было запустить компиляцию после сбоя ещё раз. Ошибка кстати повторилась и на 64 битной версии. На core i5-3570 c 8-ю гигами оперы компиляция одной версии в 4 потока занимает почти 2 часа.
Если у вас медленный интернет, пока компилится сам Qt можно поставить на закачку qt creator 3.2.2 (это последняя версия, которая компилится на 4.8.x), ActivePerl-5.20.2 !32 битную версию! и msysgit !32 битную версию! Указанные тут верcии это последние на момент написания статьи, и, соответственно, те с которыми работал я. Если у вас что-то не пошло на более новых, попробуйте указанные мной. Предупрежу сразу, до сборки qtcreator ставить msysgit очень не желательно, креатор нормально не соберется если увидит в патче sh.exe, а для нормальной работы с гитом его как раз стоит ставить с прописыванием PATH.
9) Устанавливаем perl: я не ставил документацию и примеры, местом назначения сделал «C:perlx86». Галку «Add perl to the PATH environment variable» не снимаем. После установки в командной строке (естественно не в той, в которой компилится Qt) пишем «perl -v», должна появится информация о версии.
10) Распаковываем qt creator в » C:QTqt-creator-opensource-src-3.2.2″, так же проверяем чтобы внутри не было вложенной папки, а сразу были папка bin и остальное.
11) Ждем когда компилируется qt. Никаких прямых сообщений что компиляция завершена успешно, не будет. У меня последним собрался ‘C:/QT/qt-4.8.7-mingw-w64-i586/demos/declarative/webbrowser’. Можно запустить qtdemo.exe для проверки, позапускать примеры. Снова открываем редактор переменных среды, дописываем в PATH «C:QTqt-4.8.7-mingw-w64-i586bin». Опять же убеждаемся, что это единственный профиль qt в PATH. Проверяем себя, перезапустив командную строку и набрав «qmake -v».
12) Открываем блокном файл «C:QTqt-creator-opensource-src-3.2.2srclibsutilstcpportsgatherer.cpp», находим строчку
#if __GNUC__ == 4 && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 2)
и меняем её на
#if __MINGW64_VERSION_MAJOR == 5 || (__GNUC__ == 4 && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 2))
13) Перезапускаем cmd опять же от админа. Собираем creator в новой папке:
mkdir C:QTqt-creator-3.2.2-x86
cd C:QTqt-creator-3.2.2-x86
qmake -r ../qt-creator-opensource-src-3.2.2/qtcreator.pro
mingw32-make release -j4
надеюсь, повторяться про опцию -j4 не надо.
14) Ждем окончания компиляции, запускаем qtcreator, убеждаемся что работает. Закрываем, настраивать в нем пока ещё нечего. Если очень жалко места на диске и оперативы, можно уже скомпиленный creator закинуть в папку с Qt (скопировать только папки bin, lib, share) и добросить в папку bin недостающие dll-ки из mingw. По человечески же, надо наоборот: убрать компилятор и Qt из PATH и докопировать в папку bin creator-а dll-ки из папок bin от Qt и компилятора.
15) Снова открываем редактор PATH убираем оттуда путь к скомпиленному Qt «C:QTqt-4.8.7-mingw-w64-i586bin» и меняем путь к компилятору c «C:mingw-w64-i686mingw32bin» на «C:mingw-w64-x86_64mingw64bin». Опять же перезапускаем cmd от админа и проверяем что нам выдаст
g++ -v
если все в норме, делаем все то же самое что и в шаге 6, только путь у нас теперь будет другой.
cd C:QTqt-4.8.7-mingw-w64-x86_64
.configure -debug-and-release -opensource -confirm-license -platform win32-g++ -graphicssystem raster -no-openssl -nis -iconv -system-proxies -no-freetype -plugin-sql-odbc -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -qt-style-windowsce -qt-style-windowsmobile -qt-style-s60
mingw32-make -j4
16) Теперь, пока компилится 64 битная версия Qt, можно заняться и гитом (джитом, не знаю какая транскрипция правильнее). Устанавливаем msysgit v2.6.3 !32 битную версию! запускаем инсталлер сразу от админа, иначе он поставит нам версию только для локального пользователя, оно нам не надо. Путь я выбрал «C:msysGitX86». На следующем шаге можно ткнуть галку, которая создаст ярлык к консоли на рабочем столе. Eщё через шаг выбираем «Use git from the Windows Command Promt», Я еще выбрал «Use Windows` default console window» для терминала, остальное на любителя или по умолчанию.
На blogspot есть замечательная статья о том как подружить qt creator и github. Однако в ней не даны инструкции что делать если винт на котором все это настроено сгорел синим пламенем. Попробуем восполнить этот пробел.
17) Запускаем git-bash от админа, с ярлыка который нам создал установщик
делаем настройки, конечно же подставив ту почту на которую зарегистрирован аккаунт на гитхабе и свой никнейм
git config --global user.email "myMail@example.com"
git config --global user.name "myGithubNick"
git config --global push.default simple
генерим новую пару ключей для ssh:
ssh-keygen -t rsa -C "myMail@example.com"
3 раза жмакаем enter, заходим браузером в свой профиль на гитхабе, удаляем старый ключ (если конечно не собираемся им пользоваться, а он утрачен как у меня) и добавляем новый.
пробуем склонировать существующий репозиторий:
mkdir C:\myproject
cd C:\myproject
git clone git@github.com:myGithubNick/mysuperproject.git
обратите внимание что пользователь «git», а не никнейм; никнейм указывается уже после двоеточия. Кроме того никаких https:// или git:// перед адресом быть не должно, если получаете сообщение, что нужно использовать https, значит гитхаб не опознал в вас владельца репозитория, ищите проблемы с ключами или ssh. Если все в порядке, гит сделает нам копию репозитория в папке mysuperproject. Зайдем в нее и проверим что репозиторий рабочий, и у нас есть все права
cd ./mysuperproject
git remote -v
touch .testfile.txt
git add .testfile.txt
git commit -m test
git push
git reset --hard HEAD~1
git push -f
естественно ошибок быть не должно, если есть значит что-то не так с установкой гита или ssh.
18) Дожидаемся пока скомпилится 64 битная версия Qt. Убираем из PATH 64 битный компилятор, либо совсем, либо меняем на 32 битную версию, это уже как удобнее. Открываем блокнотом «C:QTqt-4.8.7-mingw-w64-x86_64mkspecswin32-g++qmake.conf», сразу после комментов дописываем «QMAKE_TARGET.arch += x86_64», сохраняем, закрываем.
19) Снова запускаем creator (если сейчас он перестал запускаться, значит что-то лишнее есть в path или не все библиотеки мы ему подложили).
Открываем Инструменты(Tools)->Параметры(Options). Сразу же в разделе Среда(Environment) на вкладке Основные(General) нас просят ввести путь к командe patch, можно использовать «C:msysGitX86usrbinpatch.exe». Идём во Внешние утилиты(External Tools) — правим пути.
Переходим в раздел Сборка и запуск(Build & Run), переходим на вкладку Отладчики(Debuggers), нажмаем Добавить(Add), название даем: «mingw32-w64-gdb», путь: «C:mingw-w64-i686mingw32bingdb.exe». Снова жмем Добавить(Add), название даем: «mingw64-w64-gdb», путь: «C:mingw-w64-x86_64mingw64bingdb.exe».
Переходим на вкладку Компиляторы(Compilers), нажмаем Добавить(Add) ->MinGW, если нет определенных в path имя даем «MinGW32-W64» и путь «C:mingw-w64-i686mingw32bing++.exe» (можно и копию сделать для удобства, не страшно). Добавляем ещё один: имя «MinGW64-W64» путь «C:mingw-w64-x86_64mingw64bing++.exe», ABI выбираем 64битные, если есть.
Переходим на вкладку Профили Qt (Qt versions), Если 32 битного профиля нет в path добавляем сначала его «C:QTqt-4.8.7-mingw-w64-i586binqmake.exe». Потом добавляем 64 битный «C:QTqt-4.8.7-mingw-w64-x86_64binqmake.exe». Имена у меня «Qt 4.8.7 mingw-w64 i586» и «Qt 4.8.7 mingw-w64 x86_64» соответвенно.
Переходим на вкладку Комплекты(kits), сначала настраиваем профиль Desktop:
Название:Desktop
Имя в файловой системе: x86
Тип устройства:Desktop
Устройство: Локальный ПК
Sysroot: — оставляем пустым
Компилятор: MinGW32-W64
Отладчик: mingw32-w64-gdb
Профиль Qt: Qt 4.8.7 mingw-w64 i586
Добавляем ещё один
Название:Desktop 64
Имя в файловой системе: x86_64
Тип устройства:Desktop
Устройство: Локальный ПК
Sysroot: — оставляем пустым
Компилятор: MinGW64-W64
Отладчик: mingw64-w64-gdb
Профиль Qt: Qt 4.8.7 mingw-w64 ч86_64
сохраняем, применяем, пробуем что-нибудь собрать.
Вот пожалуй и все что вспомнил по данной теме.
Кстати небольшой хак: если нужно незначительно переконфигурить уже собранную сборку, ну например openssl вы решили добавить или плагин к какому-нить мускулю не собрался, а 2-3-4 часа ждать пока все перекомпилиться ни разу не улыбается, делаем так: выставляем системное время на минут 10-15 раньше чем последний раз конфигурили сборку, переконфигуриваем, возвращаем время на настоящее. Блокнотом изменяем тот(те) мейкфайл(ы) который(е) затрагивает(ют) наши изменения и запускаем мейк, если не ошиблись с мейкфайлами (на самом деле если знать из чего состоит Qt, и что от чего зависит, ошибится трудно) перекомпилится только тот кусок который нам нужен.
Последнее обновление: 12.03.2022
Одной из популярных сред разработки под С++ является среда Qt Creator. Qt Creator является кроссплатформенным, может работать на Windows, Linux и macOS и позволяет разрабатывать
широкий диапазон приложений — десктопные и мобильные приложения, а также приложения для встроенных платформ. Рассмотрим, как создать простейшую программу на С++ в Qt Creator.
Загрузим программу установки. Для этого перейдем на страницу https://www.qt.io/download-qt-installer
Сайт автоматически определяет текущую операционную систему и предлагает для нее загрузить онлайн-установщик. Для загрузки нажмем на кнопку Download:
Регистрация программы установки
После загрузки запустим программу установки:
Вначале программа установки предложит осуществить вход с логином и паролем от учетной записи QT. Однако если у вас нет учетной записи QT, то
необходимо зарегистрироваться. Для этого нажмем на ссылку «Зарегистрироваться». И в поля ввода введем логин-электронный адрес и пароль:
Нажмем на кнопку «Далее». После этого на указанный электронный адрес придет ссылка, по которой надо перейти для завершения регистрации.
После этого в программе установки QT снова нажмем на кнопку «Далее»
Установка
Затем отметим пару флажков и нажмем на кнопку «Далее»:
И после этого мы перейдем непосредственно к установке затем отметим пару флажков и нажмем на кнопку «Далее»:
Затем нам будет предложено выбрать, надо ли отправлять отчет :
Далее надо будет указать каталог для установки (можно оставить каталог по умолчанию), а также тип установки:
В качестве типа установки можно указать «Выборочная установка», тогда на следующем шаге необходимо будет указать устанавливаемые компоненты:
В данном случае я выбрал для установки последнюю на данный момент версию Qt — Qt 6.2.3 за исключением двух пакетов (MSVC 2019).
При установке для Windows прежде всего стоит отметить пункт компилятора MinGW — на данный момент это MinGW 11.2.0. 64-bit. Остальные компоненты можно устанавливать при необходимости.
При установки следует учитывать свободное место на жестком диске, так как некоторые компоненты занимают довольно многом места.
В зависимости от текущей операционной системы набор компонентов может отличаться. Например, набор компонентов для Qt 6.2.3 для MacOS:
Затем надо принять лицензионное соглашение и настроить ярлык для меню Пуск. И далее нажмем на кнопку «Установить»:
Создание проекта С++ в Qt Creator
После завершения установки запустим Qt Creator. На стартовом экране выберем вкладку Projects (Проекты), на которой нажмем на кнопку
New (Создать):
В окне создания нового проекта в качестве шаблона проекта выберем Plain C++ Application:
Далее надо будет задать имя проекта и каталог, где он будет располагаться:
На следующих шагах оставим все значения по умолчанию. И на последнем шаге нажмем на кнопку Finish для создания проекта:
И нам откроется проект с некоторым содержимым по умолчанию:
Проект будет иметь один файл — main.cpp, и в центральной части — текстовом редакторе будет открыт его код:
#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; return 0; }
Запустим его, нажав на зеленую стрелку в нижнем левом углу Qt Creator. И в нижней части Qt Creator откроется окно Application Output с результатами работы
скомпилированной программы
В этой статье мы разберём как установить Qt на Windows 7 и выше, плоть до Windows 10, думаю вам будет полезно и интересно.
Также если вы планируете в будущем перейти на Linux, то для установки Qt на него, прочитайте статью «Как установить Qt 5 на Linux Ubuntu».
Как установить Qt на Windows:
Чтобы вам установить Qt, вам сначала нужно скачать установщик, сделать это можно с официального сайта, переходим на него.
Там сверху вы увидите кнопку с надписью «Download. Try.» нажмите на неё. Вы перейдёте на страницу с разными версиями для скачивания Qt, я выберу Open Source, там надо будет нажать на кнопку «Go open source».
Теперь вы переходите на другую страницу, где вам нужно скролить до самого низа, вы увидите кнопку «Download the Qt Online Installer», нажимаете на неё. Теперь когда вы проскролите немного в низ, увидите кнопку «Download», и у вас наконец начнёт скачиваться установщик.
Когда у вас скачался установщик, можете перейти к установке.
Установка Qt:
Для установки Qt правой кнопкой мыши два раза кликаем по установщику, который скачали выше.
Вам надо будет ввести Email и пароль от учётной записи Qt, поэтому если у вас её нет, надо будет зарегистрироваться, сделать это сможете по ссылке.
Далее нажимаете кнопку «Next», потом со всем соглашаетесь и опять нажимаете «Next», дальше выбираем, отправлять ли данные или нет, тут уже на свой выбор.
Я выбрал не отправлять данные, вам тоже рекомендую так сделать, нажимаем «Next», потом вам предложат выбрать путь до программы и способ установки.
Дальше вам нужно выбрать компоненты для установки, я выбрал для базовой работы, вы можете назначить другие.
Также нажимаете «Next», потом ещё раз со всем соглашаетесь и идёт установка. После того как установка прошла, можете начать работать.
Как возможно вы заметили, я устанавливал на Windows 10, но инструкция подойдёт и начиная с Windows 7.
Вывод:
В этой статье вы узнали как установить Qt на Windows 10, но и также для Windows 7 и 8, думаю вам было интересно и полезно.
Подписываетесь на соц-сети:
Оценка:
Загрузка…
Также рекомендую:
замечания
Как указано в официальной документации , Qt представляет собой кросс-платформенную платформу разработки приложений для настольных компьютеров, встроенных и мобильных устройств. Поддерживаемые платформы включают Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS и другие.
В этом разделе представлен обзор того, что такое Qt, и почему разработчик может захотеть его использовать.
Он также должен упомянуть о любых крупных предметах в Qt и ссылки на связанные темы. Поскольку документация для qt является новой, вам может потребоваться создать начальные версии этих связанных тем.
Версии
Установка и настройка в Windows и Linux
Загрузите Qt для Linux с открытым исходным кодом
Перейдите на страницу https://www.qt.io/download-open-source/ и нажмите «Загрузить сейчас», убедитесь, что вы загружаете программу установки Qt для Linux.
Будет загружен файл с именем qt-unified-linux-x-online.run, затем добавьте разрешение exec
chmod +x qt-unified-linux-x-online.run
Не забудьте изменить «x» для фактической версии установщика. Затем запустите программу установки
./qt-unified-linux-x-online.run
Загрузите Qt для Windows с открытым исходным кодом
Перейдите на страницу https://www.qt.io/download-open-source/ . На следующем скриншоте показана страница загрузки в Windows:
То, что вы должны сделать сейчас, зависит от того, какую IDE вы собираетесь использовать. Если вы собираетесь использовать Qt Creator, который включен в программу установки, просто нажмите «Загрузить сейчас» и запустите исполняемый файл.
Если вы собираетесь использовать Qt в Visual Studio, обычно также должна работать кнопка «Загрузить сейчас». Убедитесь, что загруженный файл называется qt-opensource-windows-x86-msvc2015_64-xxxexe или qt-opensource-windows-x86-msvc2015_32-xxxexe (где xxx — версия Qt, например 5.7.0). Если это не так, нажмите «Просмотреть все заказы» и выберите один из первых четырех вариантов под Windows Host.
Если вы собираетесь использовать Qt в Code :: Blocks, нажмите «Просмотреть все закачки» и выберите Qt xxx для Windows 32-bit (MinGW xxx, 1.2 GB) под Windows Host.
После того как вы загрузите соответствующий файл установщика, запустите исполняемый файл и следуйте приведенным ниже инструкциям. Обратите внимание, что вам нужно быть администратором для установки Qt. Если вы не являетесь администратором, вы можете найти несколько альтернативных решений здесь .
Установите Qt в любую операционную систему
После того, как вы загрузили Qt и открыли программу установки, процедура установки одинакова для всех операционных систем, хотя скриншоты могут выглядеть несколько иначе. Представленные здесь скриншоты взяты из Linux.
Войдите в существующую учетную запись Qt или создайте новую:
Выберите путь для установки Qt-библиотек и инструментов
Выберите версию библиотеки и функции, которые вы хотите
После завершения загрузки и завершения установки перейдите в каталог установки Qt и запустите Qt Creator или запустите его непосредственно из командной строки.
Привет, мир
В этом примере мы просто создаем и показываем кнопку в рамке окна на рабочем столе. На кнопке появится ярлык Hello world!
Это представляет собой простейшую возможную программу Qt.
Прежде всего нам нужен файл проекта:
helloworld.pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = helloworld
TEMPLATE = app
SOURCES += main.cpp
- QT используется для указания того, какие библиотеки (модули Qt) используются в этом проекте. Поскольку наше первое приложение представляет собой небольшой графический интерфейс, нам понадобятся QtCore и QtGui. Поскольку Qt5 выделяет QtWidgets из QtGui, нам нужно добавить строку
greaterThan
, чтобы скомпилировать ее с Qt5. - TARGET — это имя приложения или библиотеки.
- TEMPLATE описывает тип сборки. Это может быть приложение (приложение), библиотека (lib) или просто подкаталоги (поддиры).
- SOURCES — это список файлов исходного кода, которые будут использоваться при создании проекта.
Нам также нужен main.cpp, содержащий приложение Qt:
main.cpp
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton button ("Hello world!");
button.show();
return a.exec(); // .exec starts QApplication and related GUI, this line starts 'event loop'
}
- Объект QApplication. Этот объект управляет ресурсами приложения и необходим для запуска любой программы Qt с графическим интерфейсом. Ему нужны argv и args, потому что Qt принимает несколько аргументов командной строки. При вызове
a.exec()
запускается цикл событий Qt. - Объект QPushButton. Кнопка с ярлыком
Hello world!
, Следующая строка,button.show()
, показывает кнопку на экране в своем окне.
Наконец, чтобы запустить приложение, откройте командную строку и введите каталог, в котором у вас есть .cpp-файл программы. Введите следующие команды оболочки для сборки программы.
qmake -project
qmake
make
Базовое приложение с QtCreator и QtDesigner
QtCreator на данный момент является лучшим инструментом для создания приложения Qt. В этом примере мы увидим, как создать простое приложение Qt, которое управляет кнопкой и пишет текст.
Чтобы создать новое приложение, щелкните Файл-> Новый файл или Проект:
Затем выберите приложение «Projects-> Application-> Qt Widgets»
Затем вы можете выбрать имя и путь вашего проекта:
Затем вы можете выбрать набор, который вы будете использовать. Если у вас нет какого-либо набора, QtCreator создаст комплект с вашей версией Qt и основным компилятором вашего компьютера. Если у вас нет компилятора, вы можете установить его. В Windows: установите Visual Studio. В Linux / Mac: установите g ++ или clang ++.
Затем вы можете выбрать имя вашего основного класса окна, унаследованного класса, имя файла, соответствующего вашему классу основного окна. Если вы изучаете или тестируете Qt, вам действительно не нужно их менять.
Последним шагом может быть выбор подпроекта этого проекта и добавление контроля версий, такого как git и svn. Опять же, если это только для тестов, вам не нужно их менять.
Затем нажмите кнопку «Готово». Теперь вы должны быть здесь:
Это база вашего приложения. если вы запустите его сейчас, щелкнув Build-> Run или ctrl + R (по умолчанию), вы увидите пустое окно.
Теперь мы добавим текст и кнопку. для этого мы будем использовать Qt Designer. Дважды щелкните по mainwindow.ui Итак, теперь вы должны увидеть: (если нет, и вы видите какой-то xml-файл, нажмите кнопку «Дизайн» слева)
Здесь Qt Designer! Кажется довольно сложным. Но как только вы привыкнете к этому, это действительно здорово. Мы добавим текст и кнопку. Слева находится список предметов. Вы можете щелкнуть по одному и перетащить объекты. Нажмите на кнопку и отпустите ее в окне. Затем выполните поиск в Label и сделайте то же самое (у вас есть фильтр в верхнем левом углу, где вы можете написать объект, который вы ищете).
Теперь у вас должно быть что-то вроде этого:
Двойным щелчком объекта вы можете изменить текст на них. Или вы можете увидеть в правой нижней части свойства объекта, который вы сейчас находитесь, и найти свойство текста. Здесь вы также можете изменить имя.
Теперь, если вы сохраните и запустите (лучше нажмите кнопку редактирования, затем сохраните снова, чтобы убедиться, что ваши изменения сохранены), вы получаете:
А? Почему мой ярлык и кнопка такие, когда я бегу? Это потому, что в нашем центральном объекте нет макета. Кстати, если вы измените размер основного окна, вы увидите, что объект сохраняет свое место. Поэтому, чтобы исправить это, мы добавим макет. Скажем, вертикальный макет. Поэтому перетащите вертикальный макет из списка объектов слева. Теперь вы должны увидеть:
Плавающий макет.
Итак, теперь щелкните правой кнопкой мыши в главном окне, где угодно, кроме метки и кнопки. c Щелкните по Lay out-> Lay Out Vertically. Теперь вы должны увидеть, что ваши объекты вертикально выровнены в вашем окне. Итак, теперь Move (с перетаскиванием снова), ваш ярлык и кнопка в макете. теперь вы должны получить:
В вашем дизайнере. И если вы запустите приложение:
Здесь вы можете увидеть свое приложение с меткой и кнопкой. И если вы измените размер своего окна, метка и кнопка тоже изменятся.
Но наша кнопка все еще ничего не делает. Мы можем изменить его двумя разными способами. Первый заключается в том, чтобы соединить кнопку с методом, который мы создали. Мы можем сделать это с именем метода connect. Итак, давайте вернемся к нашему коде и перейдем к mainwindow.cpp теперь добавим:
connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(whenButtonIsClicked()));
В конструкторе вашего MainWindow ПОСЛЕ ui->setupUI(this);
которые инициализируют ui.
Затем мы можем создать MainWindow :: whenButtonIsClicked () в нашем классе .cpp, который может изменить текст метки следующим образом:
void MainWindow::whenButtonIsClicked()
{
ui->label->setText("the button has been clicked !");
}
И в нашем mainwindow.h нам нужно добавить:
public slots:
void whenButtonIsClicked();
Открытые слоты означают, что этот метод можно вызвать, когда принимается сигнал. подключите сигнал, когда мы нажимаем кнопку и метод вызова.
Итак, теперь, если мы запустим наше приложение и нажмем на кнопку, получим:
Это означает, что наше соединение работает. Но с Qt Designer у нас есть еще более простой способ сделать это. Если вы хотите сделать другой способ, удалите соединение, чтобы отсоединить кнопку (потому что мы будем подключать ее по-другому), вернитесь к mainwindow.ui и щелкните правой кнопкой мыши по кнопке. Нажмите «Перейти в слот …», выберите «Щелкнуть» () и нажмите «ОК».
Затем вам следует перейти к этой функции:
void MainWindow::on_pushButton_clicked()
{
}
Это функция, которая будет вызываться, когда вы нажимаете на кнопку. Таким образом, вы можете добавить
ui->label->setText("it's even easier !");
Внутрь. Перейдите в mainwindow.h, чтобы сохранить изменения (когда вы делаете переход в слот, он создает метод, связанный с запросом сигнала. Он определяет функцию в .h, но не сохраняет ее. в файл и сохранить его).
И теперь, когда вы запускаете приложение и нажимаете кнопку, вы можете увидеть новое сообщение (если вы все еще видите старое, это значит, что вы не удалили соединение).
Мы также можем добавить int, double и т. Д. В наш ярлык благодаря QVariant
который является удивительным классом, который может преобразовать многие вещи во многих других вещах. Поэтому слева добавьте int, который увеличивается, когда мы нажимаем кнопку.
Итак. .H:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void whenButtonIsClicked();
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
double _smallCounter;
};
#endif // MAINWINDOW_H
.Cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(whenButtonIsClicked()));
_smallCounter = 0.0f;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::whenButtonIsClicked()
{
ui->label->setText("the button has been clicked !");
}
void MainWindow::on_pushButton_clicked()
{
_smallCounter += 0.5f;
ui->label->setText("it's even easier ! " + QVariant(_smallCounter).toString());
}
И теперь, мы можем сохранить и запустить снова. Каждый раз, когда вы нажимаете на кнопку, она показывает «это еще проще!» Со значением _smallCounter. Поэтому у вас должно быть что-то вроде:
Это руководство сделано. Если вы хотите узнать больше о Qt, давайте посмотрим другие примеры и документацию Qt в документации StackOverflow или Qt Documentation
Для работы с Qt 4-й версии необходимо все компоненты устанавливать отдельно (В 5-й версии Qt это недоразумение было исправлено). Для работы потребуется три программы:
- MinGw 4.8.2 — это Linux-утилиты для среды Windows. В состав входит C++ компилятор, именуемый g++;
- Qt 4.8.6 — это непосредственно сам SDK 4-й версии (актуально на момент написания этой статьи);
- Qt Creator 4.0.2 — это среда разработки.
Каждый компонент устанавливается в отдельный каталог. Я использую каталоги:
C:toolsqtmingw_4_8_2
C:toolsqtqt_4_8_6
C:toolsqtqt_creator_4_0_2
Но можно использовать любые.
Последовательность установки: MinGW — Qt — Qt Creator.
Утилиты MinGw 4.8.2
Прямая ссылка для скачивания MinGw 4.8.2:
http://kent.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z
В момент инсталляции указывается каталог типа C:toolsqtmingw_4_8_2.
Qt 4.8.6
Сам Qt SDK версии 4.8.6 берется здесь:
http://download.qt.io/archive/qt/4.8/4.8.6/
Если нет Microsoft Visual Studio, то нужна версия Qt для компилятора MinGw. В имени инсталлятора должны присутсвовать буквы mingw. Прямой линк на Qt 4.8.6 для MinGw:
http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-mingw482-4.8.6-1.exe
В момент инсталляции указывается каталог типа C:toolsqtqt_4_8_6.
Кроме каталога инсталляции, инсталлятор запросит каталог, в котором находится компилятор MinGw:
Нужно указать каталог, куда был установлен MinGw: C:toolsqtmingw_4_8_2.
Qt Creator 4.0.2
Qt Creator 4.0.2 берется со страницы:
https://www.qt.io/download-open-source/
Прямой линк на загрузку:
http://download.qt.io/official_releases/qtcreator/4.0/4.0.2/qt-creator-opensource-windows-x86-4.0.2.exe
В момент инсталляции указывается каталог типа C:toolsqtqt_creator_4_0_2.
Настройка среды разработки Qt Creator 4.0.2
В Qt Creator первым делом необходимо зайти в Инструменты — Параметры — Сборка и запуск — Вкладка «Профили Qt». Там нужно нажать кнопку «Добавить», задать имя профиля «Qt 4.8.6», и указать месторазмещение файла qmake.exe. Он находится в подкаталоге /bin каталога, куда был установлен Qt 4.8.6:
Нажав кнопку «Подробнее», нужно посмотреть, какое ABI использует эта сборка Qt 4.8.6. Эта информация потребуется ниже.
Далее нужно переключиться на вкладку «Компиляторы». Нажимается нопка «Добавить», вводится название «MinGW 4.8.2», и указывается месторазмещение исполняемого файла компилятора g++, который находится в подкаталоге /bin каталога, куда был установлен MinGW.
Внимание! Нужно указывать именно файл g++! В том же каталоге есть файл c++, и если его указать, то ничего не заработает.
Так же нужно проверить, чтобы строка ABI соответствовала ABI, который был записан для сборки Qt. Если строка не соответствует, ее надо исправить путем выбора пункта «<особое>» в выпадающем списке и выбра нужных пунктов в последующих выпадающих списках.
Внимание! На низких разрешениях мониторов окно настройки может быть узким, и в него не будут влазить выпадающие списки -pe и -32bit (как на картинке выше). В этом случае, надо временно расширить окно, утащив левую часть окна за пределы монитора, и сделать правильную настройку.
Иногда, если на вкладке «Профили Qt» возле конфигурации Qt стоит красный значек с восклицательным знаком, и при этом ABI в выпадающем списке вкладки «Компиляторы» соответствует ABI вкладки «Профили Qt», то становится непонятно в чем проблема. На самом деле это небольшой глюк креатора. Чтбы его обойти, нужно в настройке ABI выбрать пункт «<особое>», и настроить вручную сегменты ABI выпадающими списками.
На этом настройка закончена. Теперь при открытии/создании проектов в Qt Creator можно добавлять конфигурацию Qt 4.8.6 путем нажатия кнопки «Добавить»:
Далее можно открыть какой-нибудь небольшой тестовый проект и убедиться в работоспособности получившейся среды разработки.