Books:Qt-C++: различия между версиями
Татьяна (обсуждение | вклад) Нет описания правки |
мНет описания правки |
||
| Строка 19: | Строка 19: | ||
|run = <!-- Тираж -->On demand | |run = <!-- Тираж -->On demand | ||
|ebook = <!-- Электронная версия -->[[http://www.altlinux.org/images/4/4b/Book-qtC%2B%2B.pdf book-qtC++.pdf]] | |ebook = <!-- Электронная версия -->[[http://www.altlinux.org/images/4/4b/Book-qtC%2B%2B.pdf book-qtC++.pdf]] | ||
|sales = <!-- Где купить --> | |sales = <!-- Где купить --> | ||
|status = <!-- Статус -->Издано | |status = <!-- Статус --> Издано | ||
}} | }} | ||
| Строка 284: | Строка 284: | ||
[[Категория:Библиотека ALT Linux]] | [[Категория:Библиотека ALT Linux]] | ||
[[Категория: | [[Категория:Актуальные]] | ||
Версия от 13:03, 25 апреля 2024
Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало
Программирование на языке С++ в среде Qt Creator
| Ссылка | статус | |
|---|---|---|
| Электронная версия | [book-qtC++.pdf] | Издано |
| Печатная версия | ALT Linux, январь 2015, ISBN 978-5-905167-16-4, DOI {{{doi}}}, | |
| Рекомендуемый дистрибутив |
Книга является учебником по алгоритмизации и программированию на С++ и пособием по разработке визуальных приложений в среде 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. Чмыхало.
