На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

Qt4.7+. Практическое программирование на C++

Автор Боровский А.
Название Qt4.7+. Практическое программирование на C++
Серия Профессиональное программирование
ISBN 978-5-9775-0757-8
Формат 70*100 1/16
Объем 496
Тематика
Оптовая цена 279 руб.
    Вернуться к описанию книги

Полное содержание

Оглавление Введение 7
Что такое Qt? 7
Что вы найдете в этой книге? 8
Для кого предназначена эта книга? 10

Часть I. Начальный этап разработки проектов

11

Глава 1. Краткое введение в Qt 4

13
Средства разработки для библиотеки Qt library 13
Qt SDK 14
Qt для Microsoft Visual Studio 15
Qt Framework 16
Qt и Eclipse 17
Qt и CMake 18
Общая структура приложений Qt 20
Инструменты Qt 21
Утилита qmake 22
Инструменты интернационализации и локализации 24
Разделение контекстов 29
Склонение существительных, следующих после числительных 29
Qt Designer 31
Компоновка виджетов 31
Визуальное программирование 36
Другие возможности Qt Designer 49
Редактирование партнеров 54
Редактирование порядка перехода между виджетами 54
Qt Designer и таблицы стилей 55
Контейнеры Qt library 57
Сборка приложения Qt 4 под управлением CMake 57

Глава 2. Взаимодействие объектов Qt между собой

60
События Qt 60
Обработка событий, более подробное обсуждение 69
События Qt и многопоточность 72
Удаление объекта после выхода из его метода 73
Фильтрация событий 73
Сигналы и слоты Qt library 75
Исследование сигналов и слотов различных типов 77
Полезные трюки при работе с сигналами и слотами 81
Класс QSignalMapper и программа-калькулятор 81

Глава 3. Работа над серьезными проектами

86
Правило модульности 86
Правило разделения движка и интерфейса 87
Правило разделения движка и политики 88
Правило "ноль-один-бесконечность" 88
Простота переноса на другие платформы 89
Интроспекция 91
Повторное использование кода 96
Применение принципа модульности в Qt 96
Принцип модульности и простое приложение баз данных 98
Интеллектуальные указатели 105
Интеллектуальные указатели – "за и против" 108
Паттерны и анти-паттерны 109
Модульное тестирование 114
Qt и модульное тестирование 116

Глава 4. Инструментарий профессионального разработчика

125
Отладчик GDB 125
Точки останова 129
Обзор данных 130
Стек вызовов 132
Статический анализ кода C++ 132
Инструменты рефакторинга 134
Рефакторинг в Microsoft Visual Studio 135
Рефакторинг в среде Eclipse 138
Рефакторинг "вручную" 140
Рефакторинг и производительность 142
Системы контроля версий 143
Какую систему контроля версий выбрать? 144
Subversion 145
Структура директорий проекта Subversion 146
Создание резервной копии репозитория 148
Клиенты Subversion 148
Программа svn 148
Qt Creator и Subversion 150
Eclipse и Subversion 153
Microsoft Visual Studio и Subversion 156
TortoiseSVN 159

Часть II. Развиваем проекты

165

Глава 5. Qt и многопоточность

167
Основы теории многопоточности 172
Критические области 173
Реентерабельность 173
Потоковая безопасность 174
Потоки без цикла обработки событий 175
Атомарные операции и порядок доступа к памяти 183
Пример с использованием класса ExtThread 183
Локальная память потоков 187
Передача данных межу потоками 188
Класс QSharedMemory 189
Мьютексы и семафоры 189
Кольцевой буфер без блокировок 193
Очередь без блокировок 205

Глава 6. Высокоуровневый интерфейс потоков

218
Классы QRunnable и QThreadPool 218
Что выбрать: QRunnable или ExtThread? 220
Программа поиска файлов по содержимому 221
Быстрый доступ к содержимому файла 225
Быстрый поиск строк 229
Функция QtConcurrent::run() 232

Глава 7. Возвращаемся к Interview Framework

235
Класс QSqlDatabase 235
Схема работы Interview Framework 238
Утилита sqlite3 241
Отношения, допускающие значение NULL 242
Класс WeakRelationalTable 243
Класс WeakRelation 249
Класс WeakRelationalDelegate 250
Творческое использование делегатов 256
Создание стиля заголовков таблиц 261
Класс QDataWidgetMapper 262
Классы QDataWidgetMapper и QComboBox 269

Глава 8. Библиотека Qt и ваша видеокарта

271
Графическая система Arthur 271
Класс QGLContext 276
Шейдеры OpenGL в Qt 280
Взгляд в будущее 286
Подсистема Qt/3D 286
Поддержка OpenCL в Qt 4.8 292

Глава 9. Растровая графика и текст

298
Вывод на экран больших изображений 298
Классы QImage, QPicture и QPixmap 299
Виджет для вывода больших изображений 299
Текст с элементами форматирования 316
Классы QTextDocument и QTextEdit 316
Установка aspell под Windows 318
Подготовка программы 319
Сохранение документа QTextDocument в различных форматах 328
Добавление изображений в документ QTextDocument 329
Новшества в QTextDocument и сопутствующих классах 332
Класс QTextLayout 332
Класс QStaticText 335

Глава 10. Система Graphics View Framework

340
Знакомство с системой 342
Пишем свою игру 344
Формат файла данных 344
Переходим к графике 353
Встраивание виджетов 360
Использование встроенных виджетов в качестве элементов управления 362
Виджет для выбора фрагментов изображений 371
Graphics View Framework и OpenGL 386
Виджет в стиле браузера Opera 388
Создаем графический виджет 395

Часть III. Дополнительный материал

401

Глава 11. Конечные автоматы и анимация

403
Конечные автоматы и минимизация повторяющегося кода 408
Конечные автоматы и анимация 414

Глава 12. Сценарии для программ Qt

418
Передача ссылок на объекты Qt в сценарии 420
Обработка сигналов в сценарии 426
Использование функций приложения в сценарии 428
Создание объектов в сценарии 429
Создание новых типов данных в сценарии 430
Новшества в системе сценариев Qt 4.7 436

Глава 13. Динамические расширения программ Qt

437
Класс QLibrary 449

Глава 14. Консольные приложения Qt

450
Обработка событий в консольной программе 450
Ввод и вывод данных на консоль 451
Службы и демоны 457

Глава 15. Язык QML

461
Виджет QML в программе Qt 469
Самостоятельная программа на языке QML 475
Изменения и дополнения 477
Программа clocks 478
Утилита qmlviewer 481
Заключение 483
Список литературы 484
Предметный указатель 485


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2020 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.