|
Tags: Blanking Manual revert |
| Line 1: |
Line 1: |
| {{Cleanup | reason=Auto-imported from ExpressionEngine.}}
| |
|
| |
|
| = THIS PAGE IS WORK IN PROGRESS. =
| |
| = Первые шаги программирования с QT =
| |
|
| |
| Добро пожаловать в мир QT - мир кросплаторменных инструментов графического интерфейса пользователя (GUI). В этом начальном руководстве, мы научим вас базовым навыкам QT реализовав простое приложение Блокнот.
| |
|
| |
| == Hello Notepad ==
| |
|
| |
| В первом примере мы просто создадим и покажем элемент редактирования текста в рамке окна на экране. Пример покажет самую простую программу на QT которая имеет графический интерфейс.
| |
| [[Image:http://doc.qt.nokia.com/4.7/images/gs1.png|text edit]]
| |
|
| |
| Вот текст программы:
| |
| <code>
| |
| #include <QApplication>
| |
| #include <QTextEdit>
| |
|
| |
| int main(int argv, char *'''args)
| |
| {
| |
| QApplication app(argv, args);
| |
|
| |
| QTextEdit textEdit;
| |
| textEdit.show();
| |
|
| |
| return app.exec();
| |
| }
| |
| </code>
| |
|
| |
| Давайте рассмотрим каждую строчку программы. В первых двух строчках, мы подключаем заголовочные файлы [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] и [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit], которые являются двумя классами необходимыми для данного примера. Каждый класс QT имеет соответствующий одноименный заголовочный файл.
| |
|
| |
| Строка 6 создает объект [http://doc.qt.nokia.com/4.7/qapplication.html QApplication]. Этот объект управляет ресурсами приложения и необходим для запуска любой QT программы с графическим интерфейсом. В параметрах необходимо передавать argv и args потому что Qt обрабатывает некоторые аргументы командной строки.
| |
|
| |
| Строка 8 создает объект [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit]. Элемент редактирования текста является визуальной составляющей GUI. В QT, мы называем такие элементы виджетами. Примерами других виджетов являются полосы прокрутки, надписи, радио кнопки. Виджет так же может быть контейнером для других виджетов; диалог или главное окно приложения, например.
| |
|
| |
| Строка 9 показывает элемент редактирования текста на экране в своем собственном окне-рамке. Так как виджеты могут служить как контейнеры (например [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow], который содержит панели инструментов, меню, строку состояния, и некоторые другие виджеты), возможно показать виджет в своем собственном окне. Виджеты невидимы по умолчанию; функция [http://doc.qt.nokia.com/4.7/qwidget.html#show show()] делает виджет видимым.
| |
|
| |
| Строка 11 вводит [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] в свой цикл сообщений. В работающем QT приложении события генерируются и отправляются виджетам приложения. Примером события является нажатие кнопки мыши или клавиатуры. Когда вы печатаете текст в виджете редактирования текста, он получает события нажатия кнопки и отвечает отрисовкой напечатанного текста.
| |
|
| |
| Для запуска приложения, откройте командную строку и войдите в директорию в которой у вас находится .cpp файл программы. Следующие команды собирут программу.
| |
|
| |
| <code>
| |
| qmake -project
| |
| qmake
| |
| make
| |
| </code>
| |
|
| |
| Это оставит исполняемый файл в вашей директории (на Windows вам может понадобиться использовать nmake вместо make. Также исполняемый файл будет помещен в подкаталоги debug или release). qmake- средство для сборки QT приложений, которое читает конфигурационный файл. qmake создает этот файл когда мы передаем -project параметр в командной строке.
| |
| 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 файлы позже.
| |
|
| |
|
| |
| Подробнее:
| |
| ''' Виджеты и геометрия окон: [http://doc.qt.nokia.com/4.7/application-windows.html Window and Dialog Widgets]
| |
| * События и обработка событий: [http://doc.qt.nokia.com/4.7/eventsandfilters.html The Event System]
| |