Найти в Дзене
Old Programmer

Qt (C++), начала программирования, простое оконное приложение

Оглавление

Добро пожаловать на канал Old Programmer. Вот здесь все материалы по темам. Кроме того здесь все о библиотеке QT, а здесь о C/C++.

programmer's notes

Начну публиковать материалы по оконным приложениям на QT. Постараюсь быть последовательным, так чтобы можно было научиться, начиная с самого простого. Ориентироваться буду на среду разработки QT Creator. Библиотека QT изначально была ориентирована на язык программирования C++, так что основной язык будет именно C++. Возможно в будущем я обращусь и к Python (PyQT), но по смотрим.

Создание приложения на C++ Qt

Не хочу обременять себя рассказом о среде QT Creator. Я думаю, что тот кто уже занимался программированием, легко начнет ориентироваться в программе. Как обычно в таких случаях начинаем с создания нового проекта (New File or Project). Далее выбираем тип приложения QT Widgets Application (рисунок 1).

Рисунок 1
Рисунок 1

Дальнейшие шаги показаны на рисунках 2 - 5. В частности на рисунке два показано окно выбора места расположения проекта и его название.

Рисунок 2. Выбор имени и расположения проекта
Рисунок 2. Выбор имени и расположения проекта
Рисунок 3. Выбор набора инструментов
Рисунок 3. Выбор набора инструментов
Рисунок 4
Рисунок 4
Рисунок 5. Последнее окно мастера создания проектов
Рисунок 5. Последнее окно мастера создания проектов

В результате приходим к следующей ситуации (см. рисунок 6).

Рисунок 6. Окно проекта
Рисунок 6. Окно проекта

Т.е. мастер создания проектов построил некоторый начальный проект с возможностью визуального программирования. Но к визуальному программированию мы всегда можем обратиться. Мне лично интересно создавать приложение с нуля. Тогда можно разобраться в деталях. Поэтому в моих статьях об оконных приложениях в QT к визуальному программирования я обращаться не буду. Поэтому предлагаю следующее. В консоли слева удалите элементы: mainwindow.h, mainwindow.cpp, mainwindow.ui. Кроме этого изменим main.cpp (см. рисунок 7).

Рисунок 7. Исходный код для нашего проекта
Рисунок 7. Исходный код для нашего проекта

Пример оконного приложения на C++ Qt

И так на рисунке 7 мы имеем исходный вид нашего проекта. Именно из кода и будем далее исходить (танцевать от печки). Обращаю внимание на то, что кроме библиотеки QApplication мы подключаем библиотеку QtWidgets, которая как раз и необходима создания оконных приложений. Объект класса QApplication обязателен, так как он, в частности, обеспечивает обработку всех событий. Ну, а далее, замените содержимое модуля main.cpp на текст из mainqt1.cpp. Программа подробно прокомментирована и, на мой взгляд, не требует дополнительных пояснений. Просто разберитесь в каждой строке, поменяйте отдельные параметры и вам все станет ясно. Единственно, что следовало бы добавить. В программе окно создается на основе библиотечного класса QFrame. Этот класс является потомком класса QWidget. Так что можно без всяких проблем заменить в программе QFrame на QWidget.

Результат выполнения откомпилированной программы mainqt1.cpp представлен на рисунке 8.

Рисунок 8. Результат работы программы mainqt1.cpp
Рисунок 8. Результат работы программы mainqt1.cpp

Приложение, представленное в программе mainqt1.cpp страдает одним важным недостатком - в нем не указан механизм обработки событий. Ну, например, движение курсора мыши по полю окна или щелчок по label (ярлык). Здесь лучше всего создавать класс, наследующий от QFrame, и далее переопределять методы. Этим и другими интересными вещами мы займемся в следующих статьях.

Познакомьтесь с библиотекой QT, если вы еще не знакомы, программируйте на C++, подписывайтесь на мой канал Old Programmer. Вы забыли поставить ЛАЙК, не так ли?

Фрагмент программы mainqt1.cpp
Фрагмент программы mainqt1.cpp
programmer's notes