Qt 6, Разработка оконных приложений на C++, Прохоренок Н.А., 2022.
Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно. Она будет полезна в качестве самоучителя для начинающих разработчиков. Читатели, уже имеющие опыт, могут использовать ее как удобный справочник.

Назначение клавиш быстрого доступа.
Клавиши быстрого доступа (иногда их также называют горячими клавишами) позволяют установить фокус ввода с помощью нажатия специальной клавиши (например, <Alt> или <Ctrl>) и какой-либо дополнительной клавиши. Если после нажатия клавиш быстрого доступа в фокусе окажется кнопка (или пункт меню), то она будет нажата.
Чтобы задать клавиши быстрого доступа, следует в тексте надписи указать символ & перед буквой. В этом случае буква, перед которой указан символ &, будет подчеркнута, что является подсказкой пользователю. При одновременном нажатии клавиши <Alt> и подчеркнутой буквы компонент окажется в фокусе ввода. Некоторые компоненты, например текстовое поле, не имеют надписи. Чтобы задать клавиши быстрого доступа для таких компонентов, необходимо отдельно создать надпись и связать ее с компонентом с помощью метода setBuddy() из класса QLabel.
ОГЛАВЛЕНИЕ.
Введение.
Глава 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. Добавление значка приложения в область уведомлений.
Заключение.
Приложение. Описание электронного архива.
Предметный указатель.
Купить .
Теги: учебник по программированию :: программирование :: Прохоренок :: оконное приложение












