|
|
| Line 1: |
Line 1: |
| h1. THIS PAGE IS WORK IN PROGRESS.
| |
|
| |
|
| = Первые шаги программирования с QT =
| |
|
| |
| Добро пожаловать в мир QT - мир кросплаторменных инструментов графического интерфейса пользователя (GUI). В этом начальном руководстве, мы научим вас базовым навыкам QT реализовав простое приложение Блокнот.
| |
|
| |
| == Hello Notepad ==
| |
|
| |
| В первом примере мы просто создадим и покажем элемент редактирования текста в рамке окна на экране. Пример покажет самую простую программу на QT которая имеет графический интерфейс.<br />[[Image:http://doc.qt.nokia.com/4.7/images/gs1.png|text edit]]
| |
|
| |
| Вот текст программы:<br /><code><br /> #include <QApplication&gt;<br /> #include <QTextEdit&gt;
| |
|
| |
| int main(int argv, char *'''args)<br /> {<br /> QApplication app(argv, args);
| |
| <br /> QTextEdit textEdit;<br /> textEdit.show();
| |
| <br /> return app.exec&amp;#40;&#41;;<br /> }<br /></code>
| |
| <br />Давайте рассмотрим каждую строчку программы. В первых двух строчках, мы подключаем заголовочные файлы "QApplication&quot;:http://doc.qt.nokia.com/4.7/qapplication.html и "QTextEdit&quot;:http://doc.qt.nokia.com/4.7/qtextedit.html, которые являются двумя классами необходимыми для данного примера. Каждый класс QT имеет соответствующий одноименный заголовочный файл.
| |
| <br />Строка 6 создает объект "QApplication&quot;:http://doc.qt.nokia.com/4.7/qapplication.html. Этот объект управляет ресурсами приложения и необходим для запуска любой QT программы с графическим интерфейсом. В параметрах необходимо передавать argv и args потому что Qt обрабатывает некоторые аргументы командной строки.
| |
| <br />Строка 8 создает объект "QTextEdit&quot;:http://doc.qt.nokia.com/4.7/qtextedit.html. Элемент редактирования текста является визуальной составляющей GUI. В QT, мы называем такие элементы виджетами. Примерами других виджетов являются полосы прокрутки, надписи, радио кнопки. Виджет так же может быть контейнером для других виджетов; диалог или главное окно приложения, например.
| |
| <br />Строка 9 показывает элемент редактирования текста на экране в своем собственном окне-рамке. Так как виджеты могут служить как контейнеры (например "QMainWindow&quot;:http://doc.qt.nokia.com/4.7/qmainwindow.html, который содержит панели инструментов, меню, строку состояния, и некоторые другие виджеты), возможно показать виджет в своем собственном окне. Виджеты невидимы по умолчанию; функция "show()":http://doc.qt.nokia.com/4.7/qwidget.html#show делает виджет видимым.
| |
| <br />Строка 11 вводит "QApplication&quot;:http://doc.qt.nokia.com/4.7/qapplication.html в свой цикл сообщений. В работающем QT приложении события генерируются и отправляются виджетам приложения. Примером события является нажатие кнопки мыши или клавиатуры. Когда вы печатаете текст в виджете редактирования текста, он получает события нажатия кнопки и отвечает отрисовкой напечатанного текста.
| |
| <br />Для запуска приложения, откройте командную строку и войдите в директорию в которой у вас находится .cpp файл программы. Следующие команды собирут программу.
| |
| <br /><code><br /> qmake <s>project<br /> qmake<br /> make<br /></code>
| |
| <br />Это оставит исполняемый файл в вашей директории (на Windows вам может понадобиться использовать nmake вместо make. Также исполняемый файл будет помещен в подкаталоги debug или release). qmake</s> средство для сборки QT приложений, которое читает конфигурационный файл. qmake создает этот файл когда мы передаем -project параметр в командной строке.<br />This will leave an executable in the part1 directory (note that on Windows, you may have to use nmake instead of make. Also, the executable will be placed in part1/debug or part1/release). qmake is Qt's build tool, which takes a configuration file. qmake generates this for us when given the -project argument. Используя конфигурационный файл (расширение .pro), qmake создает make файл, который построит программу для вас. Мы посмотрим, как создавать свои собственные .pro файлы позже.
| |
|
| |
| <br />Подробнее:<br />''' Виджеты и геометрия окон: "Window and Dialog Widgets&quot;:http://doc.qt.nokia.com/4.7/application-windows.html<br />* События и обработка событий: "The Event System&quot;:http://doc.qt.nokia.com/4.7/eventsandfilters.html
| |