Qt4.7+. Практическое программирование на C++
Андрей Боровский
Книга посвящена разработке приложений для Windows и Linux с использованием библиотеки Qt версий 4.7.x и 4.8. Подробно рассмотрено программирование трехмерной и интерактивной графики, баз данных, многопоточных приложений, создание собственных виджетов, описание принципов работы с XML, а также использование новейших подсистем Qt Declarative и Qt3/D. Дано описание классов Qt применительно к решению конкретных задач. Значительное внимание уделено основным принципам разработки сложных приложений. Рассмотрено применение различных профессиональных инструментов разработчика при работе с библиотекой Qt. На авторской странице поддержки книги расположены исходные тексты демонстрационных примеров (более 40).
Издательство: БХВ-Петербург, 2012 г.
ISBN 978-5-9775-0757-8
Количество страниц: 496.
Содержание книги «Qt4.7+. Практическое программирование на C++»:
- 7 Введение
- 7 Что такое Qt?
- 8 Что вы найдете в этой книге?
- 10 Для кого предназначена эта книга?
- 11 ЧАСТЬ I. НАЧАЛЬНЫЙ ЭТАП РАЗРАБОТКИ ПРОЕКТОВ
- 13 Глава 1. Краткое введение в Qt 4
- 13 Средства разработки для библиотеки Qt library
- 14 Qt SDK
- 15 Qt для Microsoft Visual Studio
- 16 Qt Framework
- 17 Qt и Eclipse
- 18 Qt и CMake
- 20 Общая структура приложений Qt
- 21 Инструменты Qt
- 22 Утилита qmake
- 24 Инструменты интернационализации и локализации
- 29 Разделение контекстов
- 29 Склонение существительных, следующих после числительных
- 31 Qt Designer
- 31 Компоновка виджетов
- 36 Визуальное программирование
- 49 Другие возможности Qt Designer
- 54 Редактирование партнеров
- 54 Редактирование порядка перехода между виджетами
- 55 Qt Designer и таблицы стилей
- 57 Контейнеры Qt library
- 57 Сборка приложения Qt 4 под управлением CMake
- 13 Средства разработки для библиотеки Qt library
- 60 Глава 2. Взаимодействие объектов Qt между собой
- 60 События Qt
- 69 Обработка событий, более подробное обсуждение
- 72 События Qt и многопоточность
- 73 Удаление объекта после выхода из его метода
- 73 Фильтрация событий
- 75 Сигналы и слоты Qt library
- 77 Исследование сигналов и слотов различных типов
- 81 Полезные трюки при работе с сигналами и слотами
- 81 Класс QSignalMapper и программа-калькулятор
- 86 Глава 3. Работа над серьезными проектами
- 86 Правило модульности
- 87 Правило разделения движка и интерфейса
- 88 Правило разделения движка и политики
- 88 Правило «ноль-один-бесконечность»
- 89 Простота переноса на другие платформы
- 91 Интроспекция
- 96 Повторное использование кода
- 96 Применение принципа модульности в Qt
- 98 Принцип модульности и простое приложение баз данных
- 105 Интеллектуальные указатели
- 108 Интеллектуальные указатели – «за и против»
- 109 Паттерны и анти-паттерны
- 114 Модульное тестирование
- 116 Qt и модульное тестирование
- 125 Глава 4. Инструментарий профессионального разработчика
- 125 Отладчик GDB
- 129 Точки останова
- 130 Обзор данных
- 132 Стек вызовов
- 132 Статический анализ кода C++
- 134 Инструменты рефакторинга
- 135 Рефакторинг в Microsoft Visual Studio
- 138 Рефакторинг в среде Eclipse
- 140 Рефакторинг «вручную»
- 142 Рефакторинг и производительность
- 143 Системы контроля версий
- 144 Какую систему контроля версий выбрать?
- 145 Subversion
- 146 Структура директорий проекта Subversion
- 148 Создание резервной копии репозитория
- 148 Клиенты Subversion
- 148 Программа svn
- 150 Qt Creator и Subversion
- 153 Eclipse и Subversion
- 156 Microsoft Visual Studio и Subversion
- 159 TortoiseSVN
- 125 Отладчик GDB
- 165 ЧАСТЬ II. РАЗВИВАЕМ ПРОЕКТЫ
- 167 Глава 5. Qt и многопоточность
- 172 Основы теории многопоточности
- 173 Критические области
- 173 Реентерабельность
- 174 Потоковая безопасность
- 175 Потоки без цикла обработки событий
- 183 Атомарные операции и порядок доступа к памяти
- 183 Пример с использованием класса ExtThread
- 187 Локальная память потоков
- 188 Передача данных межу потоками
- 189 Класс QSharedMemory
- 189 Мьютексы и семафоры
- 193 Кольцевой буфер без блокировок
- 205 Очередь без блокировок
- 172 Основы теории многопоточности
- 218 Глава 6. Высокоуровневый интерфейс потоков
- 218 Классы QRunnable и QThreadPool
- 220 Что выбрать: QRunnable или ExtThread?
- 221 Программа поиска файлов по содержимому
- 225 Быстрый доступ к содержимому файла
- 229 Быстрый поиск строк
- 232 Функция QtConcurrent::run()
- 218 Классы QRunnable и QThreadPool
- 235 Глава 7. Возвращаемся к Interview Framework
- 235 Класс QSqlDatabase
- 238 Схема работы Interview Framework
- 241 Утилита sqlite3
- 242 Отношения, допускающие значение NULL
- 243 Класс WeakRelationalTable
- 249 Класс WeakRelation
- 250 Класс WeakRelationalDelegate
- 256 Творческое использование делегатов
- 261 Создание стиля заголовков таблиц
- 262 Класс QDataWidgetMapper
- 269 Классы QDataWidgetMapper и QComboBox
- 271 Глава 8. Библиотека Qt и ваша видеокарта
- 271 Графическая система Arthur
- 276 Класс QGLContext
- 280 Шейдеры OpenGL в Qt
- 286 Взгляд в будущее
- 286 Подсистема Qt/3D
- 292 Поддержка OpenCL в Qt 4.8
- 298 Глава 9. Растровая графика и текст
- 298 Вывод на экран больших изображений
- 299 Классы QImage, QPicture и QPixmap
- 299 Виджет для вывода больших изображений
- 316 Текст с элементами форматирования
- 316 Классы QTextDocument и QTextEdit
- 318 Установка aspell под Windows
- 319 Подготовка программы
- 328 Сохранение документа QTextDocument в различных форматах
- 329 Добавление изображений в документ QTextDocument
- 332 Новшества в QTextDocument и сопутствующих классах
- 332 Класс QTextLayout
- 335 Класс QStaticText
- 298 Вывод на экран больших изображений
- 340 Глава 10. Система Graphics View Framework
- 342 Знакомство с системой
- 344 Пишем свою игру
- 344 Формат файла данных
- 353 Переходим к графике
- 360 Встраивание виджетов
- 362 Использование встроенных виджетов в качестве элементов управления
- 371 Виджет для выбора фрагментов изображений
- 386 Graphics View Framework и OpenGL
- 388 Виджет в стиле браузера Opera
- 395 Создаем графический виджет
- 401 ЧАСТЬ III. ДОПОЛНИТЕЛЬНЫЙ МАТЕРИАЛ
- 403 Глава 11. Конечные автоматы и анимация
- 408 Конечные автоматы и минимизация повторяющегося кода
- 414 Конечные автоматы и анимация
- 418 Глава 12. Сценарии для программ Qt
- 420 Передача ссылок на объекты Qt в сценарии
- 426 Обработка сигналов в сценарии
- 428 Использование функций приложения в сценарии
- 429 Создание объектов в сценарии
- 430 Создание новых типов данных в сценарии
- 436 Новшества в системе сценариев Qt 4.7
- 437 Глава 13. Динамические расширения программ Qt
- 449 Класс QLibrary
- 450 Глава 14. Консольные приложения Qt
- 450 Обработка событий в консольной программе
- 451 Ввод и вывод данных на консоль
- 457 Службы и демоны
- 461 Глава 15. Язык QML
- 469 Виджет QML в программе Qt
- 475 Самостоятельная программа на языке QML
- 477 Изменения и дополнения
- 478 Программа clocks
- 481 Утилита qmlviewer
- 483 Заключение
- 484 Список литературы
- 485 Предметный указатель
Инструкция как скачать книгу Андрей Боровский: Qt4.7+. Практическое программирование на C++ в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.