|
Tags: Blanking Manual revert |
| (10 intermediate revisions by 3 users not shown) |
| Line 1: |
Line 1: |
| =<span class="caps">THIS</span> <span class="caps">PAGE</span> IS <span class="caps">WORK</span> IN <span class="caps">PROGRESS</span>.=
| |
|
| |
|
| =Первые шаги программирования с QT=
| |
|
| |
| Добро пожаловать в мир QT – мир кросплаторменных инструментов графического интерфейса пользователя (<span class="caps">GUI</span>). В этом начальном руководстве, мы научим вас базовым навыкам QT реализовав простое приложение Блокнот.
| |
|
| |
| ==Hello Notepad==
| |
|
| |
| В первом примере мы просто создадим и покажем элемент редактирования текста в рамке окна на экране. Пример покажет самую простую программу на QT которая имеет графический интерфейс.<br />[[Image:gs1.png|text edit]]
| |
|
| |
| Вот текст программы:<br />
| |
|
| |
| Давайте рассмотрим каждую строчку программы. В первых двух строчках, мы подключаем заголовочные файлы [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]'' и [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit] ''[doc.qt.nokia.com]'', которые являются двумя классами необходимыми для данного примера. Каждый класс QT имеет соответствующий одноименный заголовочный файл.
| |
|
| |
| Строка 6 создает объект [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]''. Этот объект управляет ресурсами приложения и необходим для запуска любой QT программы с графическим интерфейсом. В параметрах необходимо передавать argv и args потому что Qt обрабатывает некоторые аргументы командной строки.
| |
|
| |
| Строка 8 создает объект [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit] ''[doc.qt.nokia.com]''. Элемент редактирования текста является визуальной составляющей <span class="caps">GUI</span>. В QT, мы называем такие элементы виджетами. Примерами других виджетов являются полосы прокрутки, надписи, радио кнопки. Виджет так же может быть контейнером для других виджетов; диалог или главное окно приложения, например.
| |
|
| |
| Строка 9 показывает элемент редактирования текста на экране в своем собственном окне-рамке. Так как виджеты могут служить как контейнеры (например [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] ''[doc.qt.nokia.com]'', который содержит панели инструментов, меню, строку состояния, и некоторые другие виджеты), возможно показать виджет в своем собственном окне. Виджеты невидимы по умолчанию; функция [http://doc.qt.nokia.com/4.7/qwidget.html#show show()] ''[doc.qt.nokia.com]'' делает виджет видимым.
| |
|
| |
| Строка 11 вводит [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]'' в свой цикл сообщений. В работающем QT приложении события генерируются и отправляются виджетам приложения. Примером события является нажатие кнопки мыши или клавиатуры. Когда вы печатаете текст в виджете редактирования текста, он получает события нажатия кнопки и отвечает отрисовкой напечатанного текста.
| |
|
| |
| Для запуска приложения, откройте командную строку и войдите в директорию в которой у вас находится .cpp файл программы. Следующие команды собирут программу.
| |
|
| |
| Это оставит исполняемый файл в вашей директории (на Windows вам может понадобиться использовать nmake вместо make. Также исполняемый файл будет помещен в подкаталоги debug или release). qmake – средство для сборки 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 файлы позже.
| |
|
| |
| Подробнее:
| |
|
| |
| * Виджеты и геометрия окон: [http://doc.qt.nokia.com/4.7/application-windows.html Window and Dialog Widgets] ''[doc.qt.nokia.com]''
| |
| * События и обработка событий: [http://doc.qt.nokia.com/4.7/eventsandfilters.html The Event System] ''[doc.qt.nokia.com]''
| |