Добро пожаловать на канал Old Programmer. Вот здесь все материалы по темам. Кроме того здесь все о библиотеке QT, а здесь о C/C++.
Начну публиковать материалы по оконным приложениям на QT. Постараюсь быть последовательным, так чтобы можно было научиться, начиная с самого простого. Ориентироваться буду на среду разработки QT Creator. Библиотека QT изначально была ориентирована на язык программирования C++, так что основной язык будет именно C++. Возможно в будущем я обращусь и к Python (PyQT), но по смотрим.
Создание приложения на C++ Qt
Не хочу обременять себя рассказом о среде QT Creator. Я думаю, что тот кто уже занимался программированием, легко начнет ориентироваться в программе. Как обычно в таких случаях начинаем с создания нового проекта (New File or Project). Далее выбираем тип приложения QT Widgets Application (рисунок 1).
Дальнейшие шаги показаны на рисунках 2 - 5. В частности на рисунке два показано окно выбора места расположения проекта и его название.
В результате приходим к следующей ситуации (см. рисунок 6).
Т.е. мастер создания проектов построил некоторый начальный проект с возможностью визуального программирования. Но к визуальному программированию мы всегда можем обратиться. Мне лично интересно создавать приложение с нуля. Тогда можно разобраться в деталях. Поэтому в моих статьях об оконных приложениях в QT к визуальному программирования я обращаться не буду. Поэтому предлагаю следующее. В консоли слева удалите элементы: mainwindow.h, mainwindow.cpp, mainwindow.ui. Кроме этого изменим main.cpp (см. рисунок 7).
Пример оконного приложения на C++ Qt
И так на рисунке 7 мы имеем исходный вид нашего проекта. Именно из кода и будем далее исходить (танцевать от печки). Обращаю внимание на то, что кроме библиотеки QApplication мы подключаем библиотеку QtWidgets, которая как раз и необходима создания оконных приложений. Объект класса QApplication обязателен, так как он, в частности, обеспечивает обработку всех событий. Ну, а далее, замените содержимое модуля main.cpp на текст из mainqt1.cpp. Программа подробно прокомментирована и, на мой взгляд, не требует дополнительных пояснений. Просто разберитесь в каждой строке, поменяйте отдельные параметры и вам все станет ясно. Единственно, что следовало бы добавить. В программе окно создается на основе библиотечного класса QFrame. Этот класс является потомком класса QWidget. Так что можно без всяких проблем заменить в программе QFrame на QWidget.
Результат выполнения откомпилированной программы mainqt1.cpp представлен на рисунке 8.
Приложение, представленное в программе mainqt1.cpp страдает одним важным недостатком - в нем не указан механизм обработки событий. Ну, например, движение курсора мыши по полю окна или щелчок по label (ярлык). Здесь лучше всего создавать класс, наследующий от QFrame, и далее переопределять методы. Этим и другими интересными вещами мы займемся в следующих статьях.
Познакомьтесь с библиотекой QT, если вы еще не знакомы, программируйте на C++, подписывайтесь на мой канал Old Programmer. Вы забыли поставить ЛАЙК, не так ли?