Books:Qt-C++
Материал из ALT Linux Wiki
(→Предисловие) |
|||
(17 промежуточных версий не показаны.) | |||
Строка 2: | Строка 2: | ||
|author = <!-- Автор(ы) -->Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало | |author = <!-- Автор(ы) -->Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало | ||
|title = <!-- Название книги -->Программирование на языке С++ в среде Qt Creator | |title = <!-- Название книги -->Программирование на языке С++ в среде Qt Creator | ||
- | |cover = <!-- Обложка --> | + | |cover = <!-- Обложка -->Qt_Creator-cover1.png |
|abstract = <!-- Краткая аннотация -->Книга является учебником по алгоритмизации и программированию на С++ и пособием по разработке визуальных приложений в среде Qt | |abstract = <!-- Краткая аннотация -->Книга является учебником по алгоритмизации и программированию на С++ и пособием по разработке визуальных приложений в среде Qt | ||
Creator. Также в книге описаны среда программирования Qt Creator, | Creator. Также в книге описаны среда программирования Qt Creator, | ||
Строка 10: | Строка 10: | ||
Издание предназначено для студентов, аспирантов и преподавателей вузов, а также для всех, кто изучает программирование на С++ | Издание предназначено для студентов, аспирантов и преподавателей вузов, а также для всех, кто изучает программирование на С++ | ||
и осваивает кроссплатформенный инструментарий Qt для разработки. | и осваивает кроссплатформенный инструментарий Qt для разработки. | ||
- | |pages = <!-- Количество страниц --> | + | |pages = <!-- Количество страниц -->448 стр, илл. |
|format = <!-- Формат книги -->70x100/16 | |format = <!-- Формат книги -->70x100/16 | ||
- | |date = <!-- Дата выхода --> | + | |date = <!-- Дата выхода -->январь 2015 |
|disk = <!-- Прилагаемый диск --> | |disk = <!-- Прилагаемый диск --> | ||
|series = <!-- Серия -->[[Books:Altlibrary|Библиотека ALT Linux]] | |series = <!-- Серия -->[[Books:Altlibrary|Библиотека ALT Linux]] | ||
|publisher = <!-- Издатель -->ALT Linux | |publisher = <!-- Издатель -->ALT Linux | ||
|isbn = <!-- ISBN -->978-5-905167-16-4 | |isbn = <!-- ISBN -->978-5-905167-16-4 | ||
- | |run = <!-- Тираж --> | + | |run = <!-- Тираж -->On demand |
- | |ebook = <!-- Электронная версия --> | + | |ebook = <!-- Электронная версия -->[[http://www.altlinux.org/images/4/4b/Book-qtC%2B%2B.pdf book-qtC++.pdf]] |
- | |sales = <!-- Где купить --> | + | |sales = <!-- Где купить -->[[http://shop.altlinux.ru/shop/index.php?productID=769| магазин Альт Линукс]] |
- | |status = <!-- Статус --> | + | |status = <!-- Статус -->Издано |
}} | }} | ||
== Содержание == | == Содержание == | ||
{| class="standard collapsible collapsed" | {| class="standard collapsible collapsed" | ||
- | !colspan=2| Оглавление | + | !colspan=2| Оглавление |
+ | |-class="bright" | ||
+ | |Предисловие || 7 | ||
|- | |- | ||
- | + | |-class="bright" | |
+ | |Глава 1. Знакомство с языком С++ || 8 | ||
|- | |- | ||
|1.1 Первая программа на C++ || 8 | |1.1 Первая программа на C++ || 8 | ||
|- | |- | ||
|1.2 Среда программирования Qt Creator || 11 | |1.2 Среда программирования Qt Creator || 11 | ||
- | |- | + | |-class="bright" |
- | + | |Глава 2. Общие сведения о языке С++ || 17 | |
|- | |- | ||
|2.1 Алфавит языка || 17 | |2.1 Алфавит языка || 17 | ||
Строка 54: | Строка 57: | ||
|- | |- | ||
|2.10 Задачи для самостоятельного решения ||40 | |2.10 Задачи для самостоятельного решения ||40 | ||
- | |- | + | |-class="bright" |
- | + | |Глава 3. Операторы управления || 44 | |
|- | |- | ||
|3.1 Основные конструкции алгоритма || 44 | |3.1 Основные конструкции алгоритма || 44 | ||
Строка 68: | Строка 71: | ||
|- | |- | ||
|3.6 Задачи для самостоятельного решения || 86 | |3.6 Задачи для самостоятельного решения || 86 | ||
- | |- | + | |-class="bright" |
- | + | |Глава 4. Использование функций при программировании на C++ ||100 | |
|- | |- | ||
|4.1 Общие сведения о функциях || 100 | |4.1 Общие сведения о функциях || 100 | ||
Строка 90: | Строка 93: | ||
|- | |- | ||
|4.10 Задачи для самостоятельного решения || 129 | |4.10 Задачи для самостоятельного решения || 129 | ||
- | |- | + | |-class="bright" |
- | + | |Глава 5. Массивы ||134 | |
|- | |- | ||
|5.1 Статические массивы в С(С++) || 134 | |5.1 Статические массивы в С(С++) || 134 | ||
Строка 106: | Строка 109: | ||
|- | |- | ||
|5.7 Задачи для самостоятельного решения || 175 | |5.7 Задачи для самостоятельного решения || 175 | ||
+ | |-class="bright" | ||
+ | |Глава 6. Статические и динамические матрицы ||185 | ||
+ | |- | ||
+ | |6.1 Статические матрицы С(С++)|| 185 | ||
+ | |- | ||
+ | |6.2 Динамические матрицы ||186 | ||
+ | |- | ||
+ | |6.3 Обработка матриц в С(С++) ||187 | ||
+ | |- | ||
+ | |6.4 Решение некоторых задач линейной алгебры ||197 | ||
+ | |- | ||
+ | |6.5 Задачи для самостоятельного решения ||215 | ||
+ | |-class="bright" | ||
+ | |Глава 7. Организация ввода-вывода в C++ ||226 | ||
+ | |- | ||
+ | |7.1 Форматированный ввод-вывод в C++ ||226 | ||
+ | |- | ||
+ | |7.2 Работа с текстовыми файлами в C++ ||230 | ||
+ | |- | ||
+ | |7.3 Обработка двоичных файлов ||236 | ||
+ | |- | ||
+ | |7.4 Функции fscanf() и fprintf() ||240 | ||
+ | |-class="bright" | ||
+ | |Глава 8. Строки в языке C++ ||242 | ||
+ | |- | ||
+ | |8.1 Общие сведения о строках в C++ ||242 | ||
+ | |- | ||
+ | |8.2 Операции над строками ||243 | ||
+ | |- | ||
+ | |8.3 Тип данных string ||245 | ||
+ | |- | ||
+ | |8.4 Задачи для самостоятельного решения ||247 | ||
+ | |-class="bright" | ||
+ | |Глава 9. Структуры в языке C++ ||249 | ||
+ | |- | ||
+ | |9.1 Общие сведения о структурах ||249 | ||
+ | |- | ||
+ | |9.2 Библиотеки для работы с комплексными числами ||256 | ||
+ | |- | ||
+ | |9.3 Задачи для самостоятельного решения ||264 | ||
+ | |-class="bright" | ||
+ | |Глава 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 | ||
+ | |-class="bright" | ||
+ | |Глава 11. Знакомство с Qt. Подготовка к работе ||329 | ||
+ | |- | ||
+ | |11.1 Знакомство с Qt. Обзор истории ||329 | ||
+ | |- | ||
+ | |11.2 Лицензирование Qt ||332 | ||
+ | |- | ||
+ | |11.3 Справка и ресурсы ||333 | ||
+ | |- | ||
+ | |11.4 Обзор настроек среды Qt Creator ||334 | ||
+ | |- | ||
+ | |11.5 Задачи для самостоятельного решения ||339 | ||
+ | |-class="bright" | ||
+ | |Глава 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 | ||
+ | |-class="bright" | ||
+ | |Глава 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 | ||
+ | |-class="bright" | ||
+ | |Глава 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 | ||
+ | |-class="bright" | ||
+ | |Глава 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 | ||
+ | |-class="bright" | ||
+ | |Приложение A. Использование компилятора командной строки и текстового редактора Geany ||419 | ||
+ | |-class="bright" | ||
+ | |Приложение B. Общие сведения о библиотеке MathGL ||428 | ||
+ | |- | ||
+ | |B.1 Установка MathGL в Linux ||428 | ||
+ | |- | ||
+ | |B.2 Использование MathGL при построении двух-, трёхмерных графиков ||429 | ||
+ | |-class="bright" | ||
+ | |Список литературы ||443 | ||
+ | |-class="bright" | ||
+ | |Предметный указатель ||444 | ||
|} | |} | ||
Строка 131: | Строка 284: | ||
[[Категория:Библиотека ALT Linux]] | [[Категория:Библиотека ALT Linux]] | ||
- | [[Категория: | + | [[Категория:Книги новинки]] |
Текущая версия на 09:39, 23 января 2015
Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало
Программирование на языке С++ в среде 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. Чмыхало.