cpp

Учебник Qt 6 (Qt Creator и MinGW)

Qt 6. Разработка оконных приложений на C++

Если вы хотите научиться создавать оконные приложения на языке C++, то этот учебник по Qt 6 для вас. Для написания, компиляции и запуска программ используется редактор Qt Creator, а для создания исполняемого файла — компилятор g++.exe версии 8.1.0, входящий в состав популярной библиотеки MinGW, которая в свою очередь входит в состав не менее популярной библиотеки Qt.

Учебник Qt 6 содержит большое количество практических примеров, помогающих начать создавать оконные приложения самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать руководство как удобный справочник.

Требования к читателям: знание языка программирования C++.

См. также: Учебник C++ (Qt Creator)
См. также: "Программирование на C++ в Visual Studio 2010 Express"
См. также: "Язык C. Самое необходимое"

Оглавление учебника по Qt 6

Глава 1. Первые шаги
Глава 2. Работа с символами и строками
Глава 3. Управление окном приложения
Глава 4. Обработка сигналов и событий
Глава 5. Размещение нескольких компонентов в окне
Глава 6. Основные компоненты
Глава 7. Списки и таблицы
Глава 8. Работа с графикой
Глава 9. Графическая сцена
Глава 10. Диалоговые окна
Глава 11. Создание SDI- и MDI-приложений

Глава 1. Первые шаги

1.1. Создание структуры каталогов
1.2. Добавление пути в переменную PATH
1.3. Работа с командной строкой
1.4. Установка Qt 6
1.5. Настройка редактора Qt Creator
1.6. Первая программа на Qt
1.7. Структура программы
1.8. Запуск приложения двойным щелчком на значке файла
1.9. ООП-стиль создания окна
1.10. Создание проекта с формой
1.11. Доступ к документации

Глава 2. Работа с символами и строками

2.1. Псевдонимы для элементарных типов
2.2. Класс QChar: символ в кодировке Unicode
    2.2.1. Создание объекта
    2.2.2. Изменение регистра символа
    2.2.3. Проверка типа содержимого символа
2.3. Класс QString: строка в кодировке Unicode
    2.3.1. Создание объекта
    2.3.2. Преобразование объекта в другой тип данных
    2.3.3. Получение и изменение размера строки
    2.3.4. Доступ к отдельным символам
    2.3.5. Перебор символов строки
    2.3.6. Итераторы
    2.3.7. Конкатенация строк
    2.3.8. Добавление и вставка символов
    2.3.9. Удаление символов
    2.3.10. Изменение регистра символов
    2.3.11. Получение фрагмента строки
    2.3.12. Поиск в строке
    2.3.13. Замена в строке
    2.3.14. Сравнение строк
    2.3.15. Преобразование строки в число
    2.3.16. Преобразование числа в строку
    2.3.17. Форматирование строки
    2.3.18. Разделение строки на подстроки по разделителю
2.4. Класс QStringList: список строк
    2.4.1. Создание объекта
    2.4.2. Вставка элементов
    2.4.3. Определение и изменение количества элементов
    2.4.4. Удаление элементов
    2.4.5. Доступ к элементам
    2.4.6. Итераторы
    2.4.7. Перебор элементов
    2.4.8. Сортировка списка
    2.4.9. Получение фрагмента списка
    2.4.10. Поиск элементов
    2.4.11. Замена элементов
    2.4.12. Фильтрация списка
    2.4.13. Преобразование списка в строку

Глава 3. Управление окном приложения

3.1. Создание и отображение окна
3.2. Указание типа окна
3.3. Изменение и получение размеров окна
3.4. Местоположение окна на экране
3.4.1. Получение информации о размере экрана
3.5. Указание координат и размеров
    3.5.1. Класс QPoint: координаты точки
    3.5.2. Класс QSize: размеры прямоугольной области
    3.5.3. Класс QRect: координаты и размеры прямоугольной области
3.6. Разворачивание и сворачивание окна
3.7. Управление прозрачностью окна
3.8. Модальные окна
3.9. Смена значка в заголовке окна
3.10. Изменение цвета фона окна
3.11. Использование изображения в качестве фона
3.12. Создание окна произвольной формы
3.13. Всплывающие подсказки
3.14. Закрытие окна из программы

Глава 4. Обработка сигналов и событий

4.1. Назначение обработчиков сигналов
4.2. Блокировка и удаление обработчика
4.3. Генерация сигнала из программы
4.4. Использование таймеров
4.5. Класс QTimer: таймер
4.6. Перехват всех событий
4.7. События окна
    4.7.1. Изменение состояния окна
    4.7.2. Изменение положения окна и его размеров
    4.7.3. Перерисовка окна или его части
    4.7.4. Предотвращение закрытия окна
4.8. События клавиатуры
    4.8.1. Установка фокуса ввода
    4.8.2. Назначение клавиш быстрого доступа
    4.8.3. Нажатие и отпускание клавиши на клавиатуре
4.9. События мыши
    4.9.1. Нажатие и отпускание кнопки мыши
    4.9.2. Перемещение указателя
    4.9.3. Наведение и выведение указателя
    4.9.4. Прокрутка колесика мыши
    4.9.5. Изменение внешнего вида указателя мыши
4.10. Технология drag & drop
    4.10.1. Запуск перетаскивания
    4.10.2. Класс QMimeData
    4.10.3. Обработка сброса
4.11. Работа с буфером обмена

Глава 5. Размещение нескольких компонентов в окне

5.1. Абсолютное позиционирование
5.2. Горизонтальное и вертикальное выравнивание
5.3. Выравнивание по сетке
5.4. Выравнивание компонентов формы
5.5. Классы QStackedLayout и QStackedWidget
5.6. Класс QSizePolicy
5.7. Объединение компонентов в группу
5.8. Панель с рамкой
5.9. Панель с вкладками
5.10. Компонент аккордеон
5.11. Панели с изменяемым размером
5.12. Область с полосами прокрутки

Глава 6. Основные компоненты

6.1. Надпись
6.2. Командная кнопка
6.3. Переключатель
6.4. Флажок
6.5. Однострочное текстовое поле
    6.5.1. Основные методы и сигналы
    6.5.2. Ввод данных по маске
    6.5.3. Контроль ввода
6.6. Многострочное текстовое поле
    6.6.1. Основные методы и сигналы
    6.6.2. Изменение настроек поля
    6.6.3. Изменение характеристик текста и фона
    6.6.4. Класс QTextDocument
    6.6.5. Класс QTextCursor
6.7. Текстовый браузер
6.8. Поля для ввода целых и вещественных чисел
6.9. Поля для ввода даты и времени
6.10. Календарь
6.11. Электронный индикатор
6.12. Индикатор хода процесса
6.13. Шкала с ползунком
6.14. Класс QDial
6.15. Полоса прокрутки

Глава 7. Списки и таблицы

7.1. Раскрывающийся список
    7.1.1. Добавление, изменение и удаление элементов
    7.1.2. Изменение настроек
    7.1.3. Поиск элемента внутри списка
    7.1.4. Сигналы
7.2. Список для выбора шрифта
7.3. Роли элементов
7.4. Модели
    7.4.1. Доступ к данным внутри модели
    7.4.2. Класс QStringListModel
    7.4.3. Класс QStandardItemModel
    7.4.4. Класс QStandardItem
7.5. Представления
    7.5.1. Класс QAbstractItemView
    7.5.2. Простой список
    7.5.3. Таблица
    7.5.4. Иерархический список
    7.5.5. Управление заголовками строк и столбцов
7.6. Управление выделением элементов
7.7. Промежуточные модели

Глава 8. Работа с графикой

8.1. Вспомогательные классы
    8.1.1. Класс QColor: цвет
    8.1.2. Класс QPen: перо
    8.1.3. Класс QBrush: кисть
    8.1.4. Класс QLine: линия
    8.1.5. Класс QPolygon: многоугольник
    8.1.6. Класс QFont: шрифт
8.2. Класс QPainter
    8.2.1. Рисование линий и фигур
    8.2.2. Вывод текста
    8.2.3. Вывод изображения
    8.2.4. Преобразование систем координат
    8.2.5. Сохранение команд рисования в файл
8.3. Работа с изображениями
    8.3.1. Класс QPixmap
    8.3.2. Класс QBitmap
    8.3.3. Класс QImage
    8.3.4. Класс QIcon

Глава 9. Графическая сцена

9.1. Класс QGraphicsScene: сцена
    9.1.1. Настройка параметров сцены
    9.1.2. Добавление и удаление графических объектов
    9.1.3. Добавление компонентов на сцену
    9.1.4. Поиск объектов
    9.1.5. Управление фокусом ввода
    9.1.6. Управление выделением объектов
    9.1.7. Прочие методы и сигналы
9.2. Класс QGraphicsView: представление
    9.2.1. Настройка параметров представления
    9.2.2. Преобразования между координатами представления и сцены
    9.2.3. Поиск объектов
    9.2.4. Трансформация систем координат
    9.2.5. Прочие методы
9.3. Класс QGraphicsItem: базовый класс для графических объектов
    9.3.1. Настройка параметров объекта
    9.3.2. Трансформация объекта
    9.3.3. Прочие методы
9.4. Графические объекты
    9.4.1. Линия
    9.4.2. Класс QAbstractGraphicsShapeItem
    9.4.3. Прямоугольник
    9.4.4. Многоугольник
    9.4.5. Эллипс
    9.4.6. Изображение
    9.4.7. Простой текст
    9.4.8. Форматированный текст
9.5. Группировка объектов
9.6. Эффекты
    9.6.1. Класс QGraphicsEffect
    9.6.2. Тень
    9.6.3. Размытие
    9.6.4. Изменение цвета
    9.6.5. Изменение прозрачности
9.7. Обработка событий
    9.7.1. События клавиатуры
    9.7.2. События мыши
    9.7.3. Обработка перетаскивания и сброса
    9.7.4. Фильтрация событий
    9.7.5. Обработка изменения состояния объекта

Глава 10. Диалоговые окна

10.1. Пользовательские диалоговые окна
10.2. Класс QDialogButtonBox
10.3. Класс QMessageBox
    10.3.1. Основные методы и сигналы
    10.3.2. Окно для вывода обычного сообщения
    10.3.3. Окно запроса подтверждения
    10.3.4. Окно для вывода предупреждающего сообщения
    10.3.5. Окно для вывода критического сообщения
    10.3.6. Окно О программе
    10.3.7. Окно About Qt
10.4. Класс QInputDialog
    10.4.1. Основные методы и сигналы
    10.4.2. Окна для ввода строки
    10.4.3. Окно для ввода целого числа
    10.4.4. Окно для ввода вещественного числа
    10.4.5. Окно для выбора пункта из списка
10.5. Класс QFileDialog
    10.5.1. Основные методы и сигналы
    10.5.2. Окно для выбора каталога
    10.5.3. Окна для открытия файла
    10.5.4. Окна для сохранения файла
10.6. Окно для выбора цвета
10.7. Окно для выбора шрифта
10.8. Окно для вывода сообщения об ошибке
10.9. Окно с индикатором хода процесса
10.10. Создание многостраничного мастера
    10.10.1. Класс QWizard
    10.10.2. Класс QWizardPage

Глава 11. Создание SDI- и MDI-приложений

11.1. Создание главного окна приложения
11.2. Меню
    11.2.1. Класс QMenuBar
    11.2.2. Класс QMenu
    11.2.3. Контекстное меню
    11.2.4. Класс QAction
    11.2.5. Объединение переключателей в группу
11.3. Панели инструментов
    11.3.1. Класс QToolBar
    11.3.2. Класс QToolButton
11.4. Прикрепляемые панели
11.5. Управление строкой состояния
11.6. MDI-приложения
    11.6.1. Класс QMdiArea
    11.6.2. Класс QMdiSubWindow
11.7. Добавление значка приложения в область уведомлений

Qt 6. Разработка оконных приложений на C++