Books:Qt-C++
Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало
Программирование на языке С++ в среде Qt Creator
Ссылка | статус | |
---|---|---|
Электронная версия | Book-qtC++.pdf | Издано |
Печатная версия | ALT Linux, Январь 2015, ISBN 978-5-905167-16-4
Формат: 70x100/16. Тираж: On demand. 448 стр, илл. | |
Рекомендуемый дистрибутив |
Книга является учебником по алгоритмизации и программированию на С++ и пособием по разработке визуальных приложений в среде Qt Creator. Также в книге описаны среда программирования Qt Creator, редактор Geany, кроссплатформенная библиотека построения графиков MathGL. При чтении книги не требуется предварительного знакомства с программированием.
Издание предназначено для студентов, аспирантов и преподавателей вузов, а также для всех, кто изучает программирование на С++ и осваивает кроссплатформенный инструментарий Qt для разработки.
Содержание
Оглавление | |
---|---|
Предисловие | 7 |
Глава 1. Знакомство с языком С++ | 8 |
1.1 Первая программа на C++ | 8 |
1.2 Среда программирования Qt Creator | 11 |
Глава 2. Общие сведения о языке С++ | 17 |
2.1 Алфавит языка | 17 |
2.2 Данные | 18 |
2.3 Константы | 21 |
2.4 Структурированные типы данных | 21 |
2.5 Указатели | 22 |
2.6 Операции и выражения | 23 |
2.7 Стандартные функции | 31 |
2.8 Структура программы | 33 |
2.9 Ввод и вывод данных | 35 |
2.10 Задачи для самостоятельного решения | 40 |
Глава 3. Операторы управления | 44 |
3.1 Основные конструкции алгоритма | 44 |
3.2 Составной оператор | 46 |
3.3 Условные операторы | 46 |
3.4 Операторы цикла | 64 |
3.5 Решение задач с использованием циклов | 70 |
3.6 Задачи для самостоятельного решения | 86 |
Глава 4. Использование функций при программировании на C++ | 100 |
4.1 Общие сведения о функциях | 100 |
4.2 Передача параметров в функцию | 104 |
4.3 Возврат результата с помощью оператора return | 106 |
4.4 Решение задач с использованием функций | 106 |
4.5 Рекурсивные функции | 121 |
4.6 Перегрузка функций | 123 |
4.7 Шаблоны функций | 125 |
4.8 Область видимости переменных в функциях | 126 |
4.9 Функция main(). Параметры командной строки | 127 |
4.10 Задачи для самостоятельного решения | 129 |
Глава 5. Массивы | 134 |
5.1 Статические массивы в С(С++) | 134 |
5.2 Динамические массивы в С(С++) | 136 |
5.3 Отличие статического и динамического массива | 139 |
5.4 Основные алгоритмы обработки массивов | 139 |
5.5 Указатели на функции | 166 |
5.6 Совместное использование динамических массивов | 169 |
5.7 Задачи для самостоятельного решения | 175 |
Глава 6. Статические и динамические матрицы | 185 |
6.1 Статические матрицы С(С++) | 185 |
6.2 Динамические матрицы | 186 |
6.3 Обработка матриц в С(С++) | 187 |
6.4 Решение некоторых задач линейной алгебры | 197 |
6.5 Задачи для самостоятельного решения | 215 |
Глава 7. Организация ввода-вывода в C++ | 226 |
7.1 Форматированный ввод-вывод в C++ | 226 |
7.2 Работа с текстовыми файлами в C++ | 230 |
7.3 Обработка двоичных файлов | 236 |
7.4 Функции fscanf() и fprintf() | 240 |
Глава 8. Строки в языке C++ | 242 |
8.1 Общие сведения о строках в C++ | 242 |
8.2 Операции над строками | 243 |
8.3 Тип данных string | 245 |
8.4 Задачи для самостоятельного решения | 247 |
Глава 9. Структуры в языке C++ | 249 |
9.1 Общие сведения о структурах | 249 |
9.2 Библиотеки для работы с комплексными числами | 256 |
9.3 Задачи для самостоятельного решения | 264 |
Глава 10. Объектно-ориентированное программирование | 267 |
10.1 Возникновение объектного подхода в программировании | 267 |
10.2 Классы и объекты в C++ | 271 |
10.3 Создание и удаление объектов | 285 |
10.4 Наследование | 293 |
10.5 Обработка исключений | 305 |
10.6 Шаблоны классов | 316 |
10.7 Элементы стандартной библиотеки C++ | 321 |
10.8 Задачи для самостоятельного решения | 326 |
Глава 11. Знакомство с Qt. Подготовка к работе | 329 |
11.1 Знакомство с Qt. Обзор истории | 329 |
11.2 Лицензирование Qt | 332 |
11.3 Справка и ресурсы | 333 |
11.4 Обзор настроек среды Qt Creator | 334 |
11.5 Задачи для самостоятельного решения | 339 |
Глава 12. Структура проекта. Основные типы | 340 |
12.1 Файлы проекта | 340 |
12.2 Компиляция проекта | 342 |
12.3 Консольный проект Qt. Вывод сообщений | 345 |
12.4 Работа с текстовыми строками в Qt | 347 |
12.5 Контейнерные классы в Qt | 348 |
12.6 Работа с файлами | 351 |
12.7 Задачи для самостоятельного решения | 354 |
Глава 13. Создание графического интерфейса средствами Qt | 355 |
13.1 Виджеты (Widgets) | 355 |
13.2 Компоновка (Layouts) | 359 |
13.3 Политики размера (Size Policies) | 363 |
13.4 Сигнально-слотовые соединения | 365 |
13.5 Создание сигналов (signals) и слотов (slots) | 367 |
13.6 Элементы графического интерфейса | 371 |
13.7 Задачи для самостоятельного решения | 373 |
Глава 14. Создание элементов графического интерфейса | 374 |
14.1 Класс QObject | 374 |
14.2 Управление памятью. Иерархии объектов | 379 |
14.3 События (Events). Обработка событий (Event handling) | 382 |
14.4 Фильтры событий (Event filters) | 384 |
14.5 Создание собственного элемента интерфейса | 388 |
14.6 Рисование элементов. Класс QPainter | 391 |
14.7 Задачи для самостоятельного решения | 394 |
Глава 15. Разработка приложений с графическим интерфейсом | 395 |
15.1 Окна. Класс QMainWindow | 395 |
15.2 Быстрая разработка с помощью Qt Designer | 396 |
15.3 Программирование формы созданной в Qt Designer | 401 |
15.4 Стандартные диалоги | 404 |
15.5 Ресурсы программы | 408 |
15.6 Создание собственных диалогов | 410 |
15.7 Сохранение настроек | 415 |
15.8 Использование сторонних разработок в собственном проекте | 415 |
15.9 Задачи для самостоятельного решения | 417 |
Приложение A. Использование компилятора командной строки и текстового редактора Geany | 419 |
Приложение B. Общие сведения о библиотеке MathGL | 428 |
B.1 Установка MathGL в Linux | 428 |
B.2 Использование MathGL при построении двух-, трёхмерных графиков | 429 |
Список литературы | 443 |
Предметный указатель | 444 |
Предисловие
Книга, которую открыл читатель, является с одной стороны учебником по алгоритмизации и программированию на C++, а с другой — пособием по разработке визуальных приложений в среде Qt Creator. В книге описаны среда программирования Qt Creator и редактор Geany. При чтении книги не требуется предварительного знакомства с программированием.
В первой части книги (главы 1–9) на большом количестве примеров представлены методы построения программ на языке C++, особое внимание уделено построению циклических программ, программированию с использованием функций, массивов, матриц и указателей. Вторая часть книги (глава 10) посвящена объектно-ориентированному программированию на C++. В третьей части книги (главы 11–15) читатель научится создавать кроссплатформенные визуальные приложения с помощью Qt Creator и познакомится с библиотекой классов Qt.
В книге присутствуют задания для самостоятельного решения.
В приложениях описан текстовый редактор Geany, а также кроссплатформенная библиотека MathGL предназначенная для построения различных двух- и трёхмерных графиков.
Главы 1–9 написаны Е. Р. Алексеевым и О. В. Чесноковой. Автором раздела по объектно-ориентированному программированию является Д. А. Костюк. Главы 11–15, посвящённые программированию с использованием инструментария Qt, написаны Г. Г. Злобиным и А. C. Чмыхало.