blob: 3f77e5d8d7b0d40a564352e35c4d9a5f56266450 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="author" content="alexey.vladykin@sun.com">
<meta name="description" content="A short guide to working with Qt applications in NetBeans IDE or
Oracle Solaris Studio IDE.">
<meta name="keywords" content="NetBeans, Oracle Solaris Studio, IDE, Qt application,
tutorial, guide, user, documentation, open source, C, C++, make, dbx, gdb">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<title>Работа с приложениями Qt - учебный курс по IDE NetBeans</title>
</head>
<body style="padding: 2px;">
<h1>Работа с приложениями Qt - учебный курс по IDE NetBeans</h1>
<div class="articledate" style="margin-left: 0px;font-style:italic;">
<p><em>Составитель: <i>Алексей Владыкин</i>, редактор: <a href="mailto:susan.morgan@oracle.com"><i>Сьюзан Морган (Susan Morgan)</i></a><br> Октябрь 2013 г.</em> [Номер редакции: V7.4-1]</div>
<p>Этот учебный курс содержит пошаговое описание создания простого проекта приложения Qt в IDE NetBeans. Набор инструментальных средств Qt — это платформа разработки межплатформенных приложений с открытым исходным кодом</p>
<p><b>Содержание</b></p>
<img alt="Содержимое на этой странице применимо к IDE NetBeans 7.3 и 7.4" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-74-73.png" title="Содержимое этой страницы применимо к IDE NetBeans 7.3 и 7.4">
<ul class="toc">
<li><a href="#requirements">Требования</a></li>
<li><a href="#intro">Введение</a></li>
<li><a href="#qtinstall">Установка программного обеспечения Q4</a></li>
<li><a href="#creating">Создание простого приложения Qt</a></li>
<li><a href="#conclusion">Заключение</a></li>
</ul>
<h2><a NAME="requirements"></a>Требования</h2>
<p><b>Для работы с этим учебным курсом требуется программное обеспечение, указанное ниже.</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">Программное обеспечение</th>
<th class="tblheader" scope="col">Требуемая версия</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">IDE NetBeans</a> (включая поддержку C/C++)</td>
<td class="tbltd1">7.3 или 7.4 с подключаемым модулем NetBeans C/C++</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Комплект для разработки приложений на языке Java</a> (JDK)</td>
<td class="tbltd1">Версия 7</td>
</tr>
<tr>
<td class="tbltd1"><a href="../../../community/releases/74/cpp-setup-instructions.html">Компиляторы GNU C/C++ (GCC)</a></td>
<td class="tbltd1">Версии, поддерживаемые в IDE NetBeans. <br>В Windows требуется MinGW. </td>
</tr>
<tr>
<td class="tbltd1"><a href="#qtinstall">Библиотеки Qt</a></td>
<td class="tbltd1">Версия 4.8 <br>Примечание. Это практическое руководство не рассчитано на использование Qt 5</td>
</tr><tr><td>
</tr>
</tbody>
</table>
<br>
<p>Сведения о загрузке и установке необходимого программного обеспечения NetBeans см. в разделе <a href="../../../community/releases/74/install.html">Инструкции по установке IDE NetBeans</a>.
</p>
<h2><a name="intro"></a>Введение</h2>
<P>IDE NetBeans поддерживает создание, построение, запуск и отладку проектов Qt без выхода из среды IDE. Средства Qt (например, qmake, moc и uic) запускаются автоматически при необходимости. Разработчик может не думать о них (и даже может не знать об их существовании). В этой статье показано, как настроить IDE NetBeans для использования Qt 4.8 и создания простого приложения Qt. </P>
<h2><a name="qtinstall"></a>Установка программного обеспечения Qt Software для использования в среде IDE NetBeans</h2>
<p>Необходимо установить программное обеспечение Qt и настроить NetBeans, чтобы использовать его, прежде чем создавать приложения Qt в IDE. </p>
<p class="notes"><strong>Важно! Для выполнения заданий этого практического руководства необходимо использовать Qt 4.8.<br><br> Если вы хотите использовать Qt 5, ознакомьтесь этой статьей: <br> <a href="http://wiki.netbeans.org/Talk:HowToSetup64-BitQt5WithNetBeans7.4OnWindows"> Настройка 64-разрядной версии Qt 5 с NetBeans 7.4 в Windows</a></strong><br> </p>
<p>См. инструкции по установке Qt для платформы:</p>
<ul type="disc">
<li><a href="#setupwin">Настройка Qt для IDE NetBeans в Windows</a></li>
<li><a href="#setuplinmac">Настройка Qt для IDE NetBeans на платформах Linux или Mac OS X</a></li>
<li><a href="#setupsolaris">Настройка Qt для IDE NetBeans на платформах Oracle Solaris</a></li>
</ul>
<h3><a name="setupwin"></a>Настройка Qt 4.8 для IDE NetBeans в Windows</h3>
<p>Эти инструкции описывают программное обеспечение, которое было установлено на Windows для создания этого учебного руководства. </p>
<h4>Загрузите необходимое программное обеспечение для Windows</h4>
<ol>
<li>Установите IDE NetBeans и подключаемый модуль C/C++, как описывается в разделе <a href="../../../community/releases/74/cpp-setup-instructions.html"> Настройка IDE NetBeans для языков C/C++/Fortran</a>. На этом этапе не устанавливайте компиляторы.</li>
<li>Выйдите из среды IDE NetBeans.</li>
<li>Загрузите программу установки MinGW с <a href="http://sourceforge.net/projects/mingw">http://sourceforge.net/projects/mingw</a>.</li>
<li>Запустите программу установки MinGW, у которой должно быть имя, схожее с <tt>mingw-get-inst-20120426.exe</tt>.</li>
<li>В программе установке MinGW выберите следующие компоненты для установки:
<ul><li>C</li>
<li>C++</li>
<li>MSYS Basic System</li>
<li>MinGW Developer Toolkit</li>
</ul>
Загрузка установщика и извлечение пакетов программного обеспечения занимает несколько минут. По умолчанию MinGW устанавливается в<tt>C:\MinGW</tt>.</li>
<li>Загрузите и установите следующее программное обеспечение Qt на сайте <a href="http://qt-project.org/downloads">http://qt-project.org/downloads</a>. <br>
<ul><li>Библиотеки Qt 4.8.5 для Windows (minGW 4.4 317 МБайт) </li>
<li>Qt Creator 2.8.1 для Windows (51 MБайт) </li></ul>
</ol>
<h4>Измените путь в Windows</h4>
<p>Необходимо изменить переменную среды PATH в Windows, чтобы добавить пути к двоичным файлам для Qt, MinGW и MSYS. Если установка выполняется в местоположениях по умолчанию, то пути выглядят следующим образом:</p>
<ul>
<li><tt>C:\Qt\4.8.5\bin</tt></li>
<li><tt>C:\MinGW\bin</tt></li>
<li><tt>C:\MinGW\MSYS\1.0\bin</tt></li>
</ul>
<p><b>Чтобы добавить пути в переменную среды Path:</b></p>
<ol>
<li>Откройте окно 'Переменные среды'.
<ul>
<li>В Windows XP и Windows 2000: щелкните правой кнопкой мыши 'Мой компьютер' > 'Свойства'> вкладка 'Дополнительно' > кнопка 'Переменные среды'.</li>
<li>В Windows Vista и Windows 7: щелкните правой кнопкой мыши 'Мой компьютер' > 'Свойства'> ссылка 'Дополнительные параметры системы' > кнопка 'Переменные среды'.</li></ul>
<li>В окне 'Переменные среды' выберите переменную 'Путь' в разделе 'Системные переменные' и нажмите кнопку 'Изменить'.</li>
<li>В конце пути вставьте точку с запятой и добавьте пути к исполняемым файлам для Qt, MinGW и MSYS. Используйте точки с запятой для разделения путей, не используйте пробелов. Будьте осторожны, чтобы не удалить данные на вашем ПУТИ пути, иначе компьютер будет работать неправильно. <br>
<p>После завершения путь должен иметь примерно следующий вид:</p>
<pre>%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\MinGW\bin;C:\MinGW\MSYS\1.0\bin;C:\Qt\4.8.5\bin</pre>
</li>
<li>Нажмите кнопку ОК в окне 'Переменные среды'.</li>
</ol>
<h4>Создание набора инструментов для MinGW и Qt</h4>
<p>Нужно создать новый набор инструментов, который использует компиляторы MinGW, команды MSYS и команды Qt.</p>
<p><b>Чтобы создать новый набор инструментов, выполните следующие действия.</b></p><ol>
<li>Запустите среду IDE NetBeans и откройте окно 'Службы', выбрав 'Window' > 'Службы'.
<li>Разверните узел серверов сборки C/C++ и щелкните правой кнопкой узел 'Наборы инструментов' и выберите пункт 'Добавить новый набор инструментов'.<br><br> <img alt="Снимок экрана с параметром 'Добавить новый набор инструментов'" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-addtool.png"></li>
<li>Укажите каталог bin для установки MinGW в качестве базового каталога набора инструментов (например,<tt>C:\mingw\bin</tt>). <br>'Семейство наборов инструментов' и 'Имя набора инструментов' должны автоматически заполняться в MinGW.
</li>
<li>Измените имя набора инструментов на MinGW_Qt и нажмите кнопку OK.<br>
</li>
<li>Щелкните правой кнопкой мыши новый набор инструментов MinGW_Qt в узле 'Набор инструментов' в окне 'Службы' и выберите 'Свойства'. <br>Пути к инструментам должны выглядеть аналогично показанному на следующем рисунке.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-toolpaths.png" alt="На снимке экрана показаны пути к инструментам MinGW" class="margin-around">
</li>
<li>Проверьте пути для команды Make и команды QMake и в случае необходимости внесите изменения.<br>Команда Make должна иметь следующий формат <tt>C:\MinGW\MSYS\1.0\bin\make.exe</tt>, а команда QMake должна иметь формат <tt>C:\Qt\4.8.5\bin\qmake.exe</tt>.</li>
<li>Нажмите кнопку 'По умолчанию', когда MinGW_Qt выбран, чтобы настроить его наборы инструментов как наборы инструментов по умолчанию.</li>
<li>Перейдите к разделу <a href="#creating">Создание простого приложения Qt</a> в этой статье.</li>
</ol>
<h3><a name="setuplinmac"></a>Настройка Qt для IDE NetBeans на платформах Linux или Mac OS X</h3>
<ol><li>Загрузите библиотеки Qt для платформы Linux или Mac OS X на <a href="http://qt-project.org/downloads" target="_blank">http://qt-project.org/downloads</a> или получите их из репозитория пакетов Linux.</li>
<li>Если компиляторы еще отсутствуют в используемой системе, установите их как описано в разделе <a href="../../../community/releases/74/cpp-setup-instructions.html"> Настройка среды IDE NetBeans для языков C/C++/Fortran</a>. </li>
<li>Добавьте пути к компиляторам и инструментам Qt в переменную среды PATH</li>
<li>В окне терминала введите<tt>qmake -v</tt> и <tt>gcc --version</tt>, чтобы убедиться, что команды указаны на правильном пути.</li>
<li>Если доступны инструменты из командной строки, запустите IDE NetBeans и проверьте свойства набора инструментов, чтобы убедиться, что путь к компиляторам и командам make и qmake указан правильно.</li>
<li>Перейдите к разделу <a href="#creating">Создание простого приложения Qt</a> в этой статье.</li>
</ol>
<h3><a name="setupsolaris"></a>Настройка Qt для IDE NetBeans на платформах Oracle Solaris</h3>
<p>Двоичные файлы для Qt недоступны для платформ Oracle Solaris. Однако можно создать Qt из исходного кода, а затем использовать его с IDE NetBeans.
</p>
<ol>
<li>Установите компиляторы, как описано в разделе <a href="../../../community/releases/74/cpp-setup-instructions.html"> Настройка IDE NetBeans для C/C++/Fortran</a>. </li>
<li>Загрузите исходный код Qt на <a href="ftp://ftp.qt-project.org/qt/source/">ftp://ftp.qt-project.org/qt/source/</a></li>
<li>Обратитесь к документации по Qt<a href="http://qt-project.org/doc/qt-4.8/install-X11.html">Установка Qt для платформ X11</a> для получений инструкций по сборке.</li>
<li>После успешного создания двоичных файлов Qt измените переменную среды PATH таким образом, чтобы добавить путь к двоичным файлам Qt.</li>
<li>В окне терминала введите <tt>qmake -v</tt> и <tt>gcc --version</tt>, чтобы убедиться, что команды указаны на правильном пути.</li>
<li>Если компиляторы GNU и инструменты Qt доступны из командной строки, запустите IDE NetBeans. </li>
<li>Проверьте свойства наборов инструментов, чтобы убедиться, что пути к компиляторам и команде qmake указаны правильно.</li>
<li>Перейдите к разделу <a href="#creating">Создание простого приложения Qt</a> в этой статье.</li>
</ol>
<H2><a name="creating"></a>Создание простого приложения Qt</H2>
<P>В этом учебном курсе создается простое приложение Qt "Hello World", похожее на пример Hello Qt World, доступный в разделе 'Примеры' -> 'C/C++' -> 'World Hello Qt'.</P>
<p>Эти инструкции написаны для платформ Windows. Пользователи платформ Linux, Mac, Solaris могут выполнять те же действия, используя набор инструментов GNU, где путь к <tt>qmake</tt> правильно указан.
<ol>
<li>Вначале следует создать новый проект. Выберите приложение C/C++ Qt в диалоговом окне 'Новый проект' и нажмите кнопку 'Далее'.<br> <img alt="Диалоговое окно 'Новый проект'" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-create-new-project.png">
</li>
<li>В следующем диалоговом окне следует при необходимости изменить имя и расположение проекта.
<p>Проверьте 'Создать основной файл' и выберите набор инструментов MinGW_qt, а зачем щелкните 'Готово'.</p>
<img alt="Диалоговое окно &quot;Создать проект Qt&quot;." class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-create-main-file.png">
<p>Вновь созданный проект должен выглядеть так, как показано на рисунке ниже.</p>
<img alt="Проект Qt и файл main.cpp" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-app-maincpp.png">
</li>
<li>Щелкните узел проекта правой кнопкой мыши и выберите команду &quot;Свойства&quot;, чтобы открыть диалоговое окно &quot;Свойства проекта&quot;. Щелкните категорию &quot;Qt&quot;. Опытные пользователи могут изменить некоторые параметры в свойствах проекта Qt, но для этого учебного руководства вносить изменений не следует.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-project-properties.png" alt="Диалоговое окно &quot;Свойства проекта Qt&quot;" class="b-all margin-around">
</li>
<li>Нажмите категорию 'Выполнить' и задайте для свойства 'Тип консоли' значение 'Внешний терминал', а затем щелкните ОК.</li>
<li>Далее можно создавать форму. Щелкните правой кнопкой мыши файлы ресурсов и выберите 'Создать'-> 'Форма Qt' <br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-app-resource-files.png" alt="Добавление файлов ресурсов к проекту Qt" class="b-all margin-around">
</li>
<li>В диалоговом окне &quot;Новая форма Qt&quot; введите <b>HelloForm</b> в качестве имени формы, а также выберите тип формы &quot;Диалоговое окно без кнопок&quot;. Установите флажок &quot;Создать класс обертки C++&quot; и нажмите кнопку &quot;Готово&quot;.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-new-form.png" alt="Новая форма Qt" class="b-all margin-around">
<p>Создается три файла (<tt>HelloForm.ui</tt>, <tt>HelloForm.cpp</tt>, <tt>HelloForm.h</tt>), и IDE автоматически открывает Qt Designer для редактирования новой формы <tt>HelloForm.ui</tt>.</p>
<img SRC="../../../images_www/articles/73/cnd/qt/qt-designer.png" alt="Автоматически открывается проектировщик Qt" class="b-all margin-around">
</li>
<li>Создайте форму, схожую с изображенной ниже формой. Добавьте к форме два виджета QLineEdit и измените имя первого виджета<tt>nameEdit</tt>, затем измените имя второго виджета<tt>helloEdit</tt>.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-designer-form.png" alt="Проектировщик Qt с формой. созданной пользователем" class="b-all margin-around">
</li>
<li>Когда вы закончите создание формы, сохраните ее и закройте Qt Designer. Проект выглядит так, как показано на следующем рисунке.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form.png" alt="Исходные файлы формы Hello" class="b-all margin-around"> <br>
<P>Все файлы созданной формы HelloForm размещаются в одной логической папке &quot;Файлы ресурсов&quot;. Если необходимо поместить файлы CPP в исходные файлы и файлы H в файлы заголовков - просто перетащите их в нужную логическую папку.</P>
<P>Должен отображаться небольшой знак вопроса на вкладке 'Проекты', который указывает на наличие поврежденной директивы <tt>#include</tt>. <tt>setupUi</tt>, подчеркнутое красным, является следствием нарушения директивы <tt>#include ui_HelloForm.h</tt>, которая присутствует в файле <tt>HelloForm.h</tt>. <tt>ui_HelloForm.h</tt> включает файл, который на самом деле еще не существует. Он будет сгенерирован при первой сборке проекта. Это обусловлено особенностями работы системы сборки Qt. </P>
</li>
<li>Нажмите кнопку 'Создать проект' на панели инструментов, и ошибка должна исчезнуть после создания файла <tt>ui_HelloForm.h</tt>.</li>
<li>Откройте <tt>main.cpp</tt> и вставьте две строки кода, которые отвечают за создание и отображение HelloForm, как показано в строках 17 и 18 на рисунке ниже. Не забудьте включить <tt>HelloForm.h</tt> как показано в строке 9.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-edit.png" alt="Изменение исходных файлов формы Hello" class="b-all margin-around">
</li>
<li>Нажмите кнопку 'Выполнить' на панели инструментов, чтобы запустить приложение.<br>Сначала отобразится окно терминала, а затем диалоговое окно, созданное в Qt Designer.</li>
<li>Напишите что-нибудь в текстовом поле и нажмите Enter, и вы увидите, что ничего не происходит.
<P>Чтобы включить в приложение поддержку отклика, необходимо определить слот и подключить его к сигналу <tt>textChanged</tt>, инициируемому текстовым полем. Подробнее о сигналах Qt и слотах см. <a HREF="http://doc.qt.digia.com/4.6/signalsandslots.html" TARGET="_blank">http://doc.qt.digia.com/4.6/signalsandslots.html</a></P>
</li>
<li>Перейдите к <tt>HelloForm.h</tt> и объявите этот слот, как показано в строках 18 и 19 на рисунке ниже:<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-h.png" alt="Изменение включенных файлов формы Hello" class="b-all margin-around">
</li>
<li>Затем перейдите к <tt>HelloForm.cpp</tt> и вставьте определение слота, как показано в строках 17-23 на следующем рисунке:<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-slot.png" alt="Добавление ячейки к исходным файлам формы" class="b-all margin-around">
</li>
<li>Наконец подключите сигнал к слоту, вставив код в конструктор HelloForm, как показано в строках 12 и 13 на рисунке ниже:<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-cpp.png" alt="Добавление ячейки к конструктору формы Hello" class="b-all margin-around">
</li>
<li>Теперь запустите приложение и, когда отобразится диалоговое окно, нажмите верхнее поле ввода, введите свое имя, тогда в нижнем поле будет выведен текст 'Hello to you', как показано ниже.<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-app-running.png" alt="Выполняется приложение Hello World Qt " class="b-all margin-around">
</li>
</ol>
<H2><a name="conclusion"></a>Заключение</H2>
<p>В этой статье показано, как настроить среду таким образом,чтобы можно было использовать IDE NetBeans с библиотеками и инструментами Qt.</p>
<P>Создавайте и разрабатывайте приложения Qt с помощью NetBeans и отправляйте свои отзывы в <a HREF="mailto:users@cnd.netbeans.org">список рассылки CND</a> и на <a href="https://forums.netbeans.org/cnd-users.html">Форум пользователей NetBeans C/C++</a>.</P>
<P>Вы нашли ошибку или хотите предложить что-нибудь новое? Сообщить об ошибке можно на сайте по адресу <a HREF="https://netbeans.org/bugzilla/enter_bug.cgi?component=cnd">http://netbeans.org/bugzilla/enter_bug.cgi?component=cnd</a> (необходима регистрация на сайте netbeans.org)</P>
<h2>См. также</h2>
<p>Дополнительные статьи о разработке с помощью C/C++/Fortran в IDE NetBeans см. в разделе <a href="https://netbeans.org/kb/trails/cnd.html">Учебные карты C/C++</a>.</p>
<div class="feedback-box"><a href="mailto:users@cnd.netbeans.org?subject=Feedback:%20Working%20with%20Qt%20Applications%20-%20NetBeans%20IDE%207.4%20Tutorial">Отправить отзыв по этому учебному курсу</a></div>
<br style="clear: both;">
</BODY>
</HTML>