Предисловие
Глава 1. Гибридные приложения: рабочий стол + Интернет
Виджеты с поддержкой Интернета
Использование WebKit
Универсальный компонент, содержащий окно веб­браузера
Создание приложений для работы с конкретным сайтом
Внедрение виджетов Qt в веб­страницы
Глава 2. Аудио и видео
Использование классов QSound и QMovie
Мультимедийная библиотека Phonon
Воспроизведение музыки
Воспроизведение видео
Глава 3. Архитектура модель/представление: табличные модели
Архитектура модель/представление в Qt
Применение класса QStandardItemModel для таблиц
Изменение табличной модели с помощью пользовательского интерфейса
Подкласс QStandardItemModel для таблиц
Удаление строк­дубликатов с помощью класса QSortFilterProxyModel
Применение класса QSortFilterProxyModel для включения нужных строк
Создание пользовательских табличных моделей
Изменение табличной модели с помощью пользовательского интерфейса
Пользовательский подкласс QAbstractItemModel для таблиц
Глава 4. Архитектура модель/представление: древовидные модели
Деревья на основе модели QStandardItemModel
Изменение древовидной модели с помощью пользовательского интерфейса
Подкласс QstandardItem для представления элементов дерева
Подкласс QstandardItemModel для представления дерева
Создание пользовательских древовидных моделей
Изменение древовидной модели с помощью пользовательского интерфейса
Специализированный класс элемента дерева
Специализированный подкласс QAbstractItemModel для деревьев
Глава 5. Архитектура модель/представление: делегаты
Редакторы для конкретных типов данных
Делегаты, ориентированные на конкретный тип данных
Делегат для строки или столбца, допускающих только чтение
Делегат для редактируемой строки или столбца
Делегаты для конкретной модели
Глава 6. Архитектура модель/представление: представления
Подклассы QAbstractItemView
Визуализация моделей с помощью специальных представлений
Виджет визуализатора
Агрегированный заголовок визуализатора
Агрегированное представление визуализатора
Глава 7. Многопоточное программирование с модулем QtConcurrent
Выполнение функции в потоке
Функция QtConcurrent::run()
Класс QRunnable
Фильтрация и отображение в потоках
Использование QtConcurrent для фильтрации
Применение модуля QtConcurrent для фильтрации с редукцией
Применение модуля QtConcurrent для отображения
Глава 8. Многопоточное программирование с классом QThread
Обработка независимых элементов
Обработка разделяемых данных
Глава 9. Создание редакторов форматированного текста
Введение в класс QTextDocument
Создание специализированных текстовых редакторов
Автозавершение в однострочных редакторах и комбинированных списках
Автозавершение и подсветка синтаксиса в текстовых редакторах
Однострочный редактор форматированного текста
Многострочный редактор форматированного текста
Глава 10. Создание форматированных текстовых документов
Качество файла, в который экспортирован QTextDocument
Создание объектов QTextDocument
Создание QTextDocument с помощью HTML
Создание QTextDocument с помощью QTextCursor
Экспорт и печать документов
Экспорт QTextDocument
Печать и предварительный просмотр документа
QTextDocument
Рисование страниц
Рисование PDF- и PostScript-документов
Рисование SVG-документов
Рисование растровых изображений
Глава 11. Подсистема Graphics View: создание окон
Архитектура Graphics View
Графические представления: виджеты и компоновщики
Введение в графические элементы
Глава 12. Подсистема Graphics View: создание сцен
Сцены, элементы и действия
Создание главного окна
Сохранение, загрузка, печать и экспорт сцен
Манипулирование графическими элементами
Расширение класса QGraphicsView
Создание стыкуемого виджета с набором инструментов
Создание пользовательских графических элементов
Расширение класса QGraphicsTextItem
Расширение существующего класса графических элементов
Создание пользовательского графического элемента с нуля
Глава 13. Анимация и конечные автоматы
Введение в подсистему анимации
Введение в подсистему конечных автоматов
Сочетание анимации с конечными автоматами
Эпилог
Список литературы
Алфавитный указатель