Qt 5.10. Профессиональное программирование на C++

Qt 5.10. Профессиональное программирование на C++
sku: 48477286
ACCORDING TO OUR RECORDS THIS PRODUCT IS NOT AVAILABLE NOW
990.00 грн.
Shipping from: Ukraine
   Description

[html]Книга "Qt 5.10. Профессиональное программирование на C++" посвящена разработке приложений для Windows, Mac OS X, Linux, Android и iOS с использованием библиотеки Qt версии 5.10. Подробно рассмотрены возможности, предоставляемые этой библиотекой, и описаны особенности, выгодно отличающие ее от других библиотек. Описана интегрированная среда разработки Qt Creator и работа с технологией Qt Quick. Книга содержит исчерпывающую информацию о классах Qt 5, и так же даны практические рекомендации их применения, проиллюстрированные на большом количестве подробно прокомментированных примеров. Проекты примеров из книги размещены на сайте издательства.Содержание книги "Qt 5.10. Профессиональное программирование на C++"Предисловие Маттиаса Эттриха1Благодарности3Предисловие автора4Структура книги5Введение13Часть I. Основы Qt25Глава 1. Обзор иерархии классов Qt26Первая программа на Qt26Модули Qt27Пространство имен Qt29Модуль QtCore29Модуль QtGui30Модуль QtWidgets30Модули QtQuick и QtQML32Модуль QtNetwork32Модули QtXml и QtXmlPatterns32Модуль QtSql32Модули QtMultimedia и QtMultimediaWidgets32Модуль QtSvg32Дополнительные модули Qt32Резюме33Глава 2. Философия объектной модели35Механизм сигналов и слотов38Сигналы41Слоты43Соединение объектов44Разъединение объектов49Переопределение сигналов50Организация объектных иерархий51Метаобъектная информация53Резюме54Глава 3. Работа с Qt55Интегрированная среда разработки55Программа Qt Assistant55Работа с qmake55Рекомендации для проекта с Qt59Метаобъектный компилятор MOC60Компилятор ресурсов RCC61Структура Qt-проекта62Методы отладки62Отладчик GDB (GNU Debugger)63Прочие методы отладки66Глобальные определения Qt69Информация о библиотеке Qt71Резюме72Глава 4. Библиотека контейнеров74Контейнерные классы75Итераторы76Итераторы в стиле Java77Итераторы в стиле STL78Ключевое слово foreach80Последовательные контейнеры80Вектор QVector82Массив байтов QByteArray83Массив битов QBitArray83Списки QList и QLinkedList84Стек QStack85Очередь QQueue86Ассоциативные контейнеры86Словари QMap и QMultiMap87Хэши QHash и QMultiHash89Множество QSet90Алгоритмы91Сортировка92Поиск93Сравнение94Заполнение значениями94Копирование значений элементов94Подсчет значений95Строки95Регулярные выражения97Произвольный тип QVariant100Модель общего использования данных101Резюме102Часть II. Элементы управления103Глава 5. С чего начинаются элементы управления?104Класс QWidget104Размеры и координаты виджета107Механизм закулисного хранения108Установка фона виджета108Изменение указателя мыши109Стек виджетов112Рамки112Виджет видовой прокрутки113Резюме115Глава 6. Управление автоматическим размещением элементов116Менеджеры компоновки (layout managers)116Горизонтальное и вертикальное размещение118Класс QBoxLayout118Горизонтальное размещение QHBoxLayout120Вертикальное размещение QVBoxLayout121Вложенные размещения122Табличное размещение QGridLayout123Порядок следования табулятора129Разделители QSplitter129Резюме130Глава 7. Элементы отображения132Надписи132Индикатор выполнения136Электронный индикатор139Резюме141Глава 8. Кнопки, флажки и переключатели142С чего начинаются кнопки? Класс QAbstractButton142Установка текста и изображения142Взаимодействие с пользователем142Опрос состояния143Кнопки143Флажки145Переключатели147Группировка кнопок148Резюме151Глава 9. Элементы настройки152Класс QAbstractSlider152Изменение положения152Установка диапазона152Установка шага153Установка и получение значений153Ползунок153Полоса прокрутки155Установщик156Резюме158Глава 10. Элементы ввода159Однострочное текстовое поле159Редактор текста161Запись в файл164Расцветка синтаксиса (syntax highlighting)165С чего начинаются виджеты счетчиков?171Счетчик171Элемент ввода даты и времени172Проверка ввода173Резюме175Глава 11. Элементы выбора176Простой список176Вставка элементов176Выбор элементов пользователем178Изменение элементов пользователем178Режим пиктограмм178Сортировка элементов179Иерархические списки180Сортировка элементов183Таблицы183Выпадающий список185Вкладки186Виджет панели инструментов187Резюме188Глава 12. Интервью, или модель-представление189Концепция190Модель190Представление192Выделение элемента193Делегат195Индексы модели197Иерархические данные198Роли элементов201Создание собственных моделей данных203Промежуточная модель данных (Proxy model)211Модель элементно-ориентированных классов213Резюме215Глава 13. Цветовая палитра элементов управления217Резюме220Часть III. События и взаимодействие с пользователем221Глава 14. События222Переопределение специализированных методов обработки событий224События клавиатуры225Класс QKeyEvent225Класс QFocusEvent227Событие обновления контекста рисования. Класс QPaintEvent227События мыши228Класс QMouseEvent228Класс QWheelEvent232Методы enterEvent() и leaveEvent()233Событие таймера. Класс QTimerEvent233События перетаскивания (drag & drop)233Класс QDragEnterEvent233Класс QDragLeaveEvent233Класс QDragMoveEvent233Класс QDropEvent234Остальные классы событий234Класс QChildEvent234Класс QCloseEvent234Класс QHideEvent234Класс QMoveEvent234Класс QShowEvent234Класс QResizeEvent234Реализация собственных классов событий236Переопределение метода event()236Мультитач239Сохранение работоспособности приложения244Резюме244Глава 15. Фильтры событий246Реализация фильтров событий246Резюме249Глава 16. Искусственное создание событий250Резюме253Часть IV. Графика и звук255Глава 17. Введение в компьютерную графику256Классы геометрии256Точка256Двумерный размер257Прямоугольник259Прямая линия259Многоугольник260Цвет260Класс QСolor260Цветовая модель RGB261Цветовая модель HSV262Цветовая модель CMYK263Палитра264Предопределенные цвета265Резюме266Глава 18. Легенда о короле Артуре и контекст рисования267Класс QPainter268Перья и кисти270Перо270Кисть271Градиенты272Техника сглаживания (Anti-aliasing)274Рисование275Рисование точек275Рисование линий275Рисование сплошных прямоугольников277Рисование заполненных фигур277Запись команд рисования281Трансформация систем координат281Перемещение282Масштабирование283Поворот283Скос283Трансформационные матрицы283Графическая траектория (painter path)284Отсечения285Режим совмещения (composition mode)286Графические эффекты289Резюме291Глава 19. Растровые изображения293Форматы графических файлов293Формат BMP293Формат GIF294Формат PNG294Формат JPEG294Формат XPM294Контекстно-независимое представление296Класс QImage296Класс QImage как контекст рисования303Контекстно-зависимое представление304Класс QPixmap305Класс QPixmapCache306Класс QBitmap306Создание нестандартного окна виджета307Резюме308Глава 20. Работа со шрифтами310Отображение строки312Резюме315Глава 21. Графическое представление316Сцена317Представление318Элемент319События321Виджеты в графическом представлении326Резюме328Глава 22. Анимация330Класс QMovie330SVG-графика332Анимационный движок и машина состояний333Смягчающие линии336Машина состояний и переходы341Резюме343Глава 23. Работа с OpenGL345Основные положения OpenGL345Реализация OpenGL-программы347Разворачивание OpenGL-программ во весь экран350Графические примитивы OpenGL350Трехмерная графика354Резюме358Глава 24. Вывод на печать359Класс QPrinter359Резюме364Глава 25. Разработка собственных элементов управления365Примеры создания виджетов365Резюме370Глава 26. Элементы со стилем371Встроенные стили373Создание собственных стилей377Метод рисования простых элементов управления378Метод рисования элементов управления378Метод рисования составных элементов управления378Реализация стиля простого элемента управления379Использование каскадных стилей документа382Основные положения383Изменение подэлементов385Управление состояниями386Пример387Резюме391Глава 27. Мультимедиа392Звук392Воспроизведение WAV-файлов: класс QSound393Более продвинутые возможности воспроизведения звуковых файлов: класс QMediaPlayer394Видео и класс QMediaPlayer401Резюме403Часть V. Создание приложений405Глава 28. Сохранение настроек приложения406Резюме413Глава 29. Буфер обмена и перетаскивание414Буфер обмена414Перетаскивание415Реализация drag417Реализация drop419Создание собственных типов перетаскивания421Резюме426Глава 30. Интернационализация приложения428Подготовка приложения к интернационализации428Утилита lupdate430Программа Qt Linguist431Утилита lrelease. Пример программы, использующей перевод433Смена перевода в процессе работы программы435Завершающие размышления437Резюме438Глава 31. Создание меню439«Анатомия» меню439Контекстные меню443Резюме444Глава 32. Диалоговые окна445Правила создания диалоговых окон445Класс QDialog446Модальные диалоговые окна446Немодальные диалоговые окна447Создание собственного диалогового окна447Стандартные диалоговые окна451Диалоговое окно выбора файлов451Диалоговое окно настройки принтера454Диалоговое окно выбора цвета455Диалоговое окно выбора шрифта457Диалоговое окно ввода458Диалоговое окно процесса459Диалоговые окна мастера460Диалоговые окна сообщений462Окно информационного сообщения464Окно предупреждающего сообщения464Окно критического сообщения465Окно сообщения о программе466Окно сообщения About Qt466Окно сообщения об ошибке467Резюме467Глава 33. Предоставление помощи469Всплывающая подсказка469Система помощи (Online Help)471Резюме473Глава 34. Главное окно, создание SDI- и MDI-приложений475Класс главного окна QMainWindow475Класс действия QAction476Панель инструментов477Доки479Строка состояния480Окно заставки482SDI- и MDI-приложения484SDI-приложение484MDI-приложение488Резюме496Глава 35. Рабочий стол (Desktop)497Область уведомлений497Виджет экрана502Класс сервиса рабочего стола506Резюме506Часть VI. Особые возможности Qt507Глава 36. Работа с файлами, каталогами и потоками ввода/вывода508Ввод/вывод. Класс QIODevice508Работа с файлами. Класс QFile510Класс QBuffer512Класс QTemporaryFile512Работа с каталогами. Класс QDir512Просмотр содержимого каталога513Информация о файлах. Класс QFileInfo516Файл или каталог?516Путь и имя файла517Информация о дате и времени517Получение атрибутов файла517Определение размера файла517Наблюдение за файлами и каталогами518Потоки ввода/вывода520Класс QTextStream521Класс QDataStream522Резюме523Глава 37. Дата, время и таймер524Дата и время524Класс даты QDate524Класс времени QTime526Класс даты и времени QDateTime527Таймер527Событие таймера528Класс QTimer530Класс QBasicTimer532Резюме532Глава 38. Процессы и потоки533Процессы533Потоки536Приоритеты538Обмен сообщениями539Сигнально-слотовые соединения540Отправка событий544Синхронизация547Мьютексы547Семафоры549Ожидание условий550Блокировка чтения/записи550Возникновение тупиковых ситуаций551Фреймворк QtConcurrent551Резюме553Глава 39. Программирование поддержки сети555Сокетное соединение555Модель «клиент-сервер»556Реализация TCP-сервера557Реализация TCP-клиента562Реализация UDP-сервера и UDP-клиента566Управление доступом к сети570Блокирующий подход577Режим прокси580Информация о хосте580Есть ли соединение с Интернетом?581Резюме581Глава 40. Работа с XML582Основные понятия и структура XML-документа582XML и Qt584Работа с DOM584Чтение XML-документа585Создание и запись XML-документа587Работа с SAX589Чтение XML-документа589Класс QXmlStreamReader для чтения XML592Использование XQuery594Резюме597Глава 41. Программирование баз данных599Основные положения SQL599Создание таблицы600Операция вставки600Чтение данных600Изменение данных601Удаление601Использование языка SQL в библиотеке Qt601Соединение с базой данных (второй уровень)603Исполнение команд SQL (второй уровень)604Классы SQL-моделей для интервью (третий уровень)607Модель запроса607Табличная модель608Реляционная модель610Резюме611Глава 42. Динамические библиотеки и система расширений613Динамические библиотеки613Динамическая загрузка и выгрузка библиотеки614Расширения (plug-ins)617Расширения для Qt617Поддержка собственных расширений в приложениях619Создание расширения для приложения623Резюме625Глава 43. Совместное использование Qt с платформозависимыми API627Совместное использование с Windows API629Совместное использование с Linux632Совместное использование с Mac OS X632Системная информация637Резюме639Глава 44. Qt Designer. Быстрая разработка прототипов640Создание новой формы в Qt Designer640Добавление виджетов643Компоновка (layout)644Порядок следования табулятора645Сигналы и слоты646Использование в формах собственных виджетов648Использование форм в проектах648Компиляция651Динамическая загрузка формы651Резюме654Глава 45. Проведение тестов655Создание тестов656Тесты с передачей данных659Создание тестов графического интерфейса661Параметры для запуска тестов663Резюме664Глава 46. Qt WebEngine665А зачем?666Быстрый старт667Создание простого веб-браузера669Ввод адресов669Управление историей669Загрузка страниц и ресурсов670Пишем веб-браузер: попытка номер два670Резюме674Глава 47. Интегрированная среда разработки Qt Creator675Первый запуск676Создаем проект «Hello Qt Creator»677Пользовательский интерфейс Qt Creator681Окна вывода682Окно проектного обозревателя682Секция компилирования и запуска682Редактирование текста685Как подсвечен ваш синтаксис?685Скрытие и отображение кода686Автоматическое дополнение кода686Поиск и замена687Комбинации клавиш для ускорения работы691Вертикальное выделение текста691Автоматическое форматирование текста691Комментирование блоков692Просмотр кода методов класса, их определений и атрибутов692Помощь, которая всегда рядом693Интерактивный отладчик и программный экзорцизм694Синтаксические ошибки695Ошибки компоновки696Ошибки времени исполнения696Логические ошибки697Трассировка697Команда Step Over698Команда Step Into698Команда Step Out699Контрольные точки699Окно переменных (Local and Watches)700Окно цепочки вызовов (Call Stack)701Резюме701Глава 48. Рекомендации по миграции программ из Qt 4 в Qt 5703Основные отличия Qt 5 от Qt 4703Подробности перевода на Qt 5703Виджеты704Контейнерные классы704Функция qFindChildren()705Сетевые классы705WebKit705Платформозависимый код705Система расширений Plug-ins705Принтер QPrinter706Мультимедиа706Модульное тестирование706Реализация обратной совместимости Qt 5 с Qt 4706Резюме709Часть VII. Язык сценариев JavaScript711Глава 49. Основы поддержки сценариев JavaScript712Принцип взаимодействия с языком сценариев713Первый шаг использования сценария716Привет, сценарий717Резюме718Глава 50. Синтаксис языка сценариев720Зарезервированные ключевые слова720Комментарии721Переменные721Предопределенные типы данных722Целый тип722Вещественный тип722Строковый тип723Логический тип723Преобразование типов723Операции725Операторы присваивания725Арифметические операции725Поразрядные операции726Операции сравнения726Приоритет выполнения операций727Управляющие структуры728Условные операторы728Оператор if ... else728Оператор switch729Оператор условного выражения730Циклы730Операторы break и continue730Цикл for730Цикл while731Цикл do...while731Оператор with732Исключительные ситуации732Оператор try...catch732Оператор throw733Функции733Встроенные функции735Объектная ориентация735Статические классы738Наследование738Перегрузка методов741Сказание о «джейсоне»742Резюме743Глава 51. Встроенные объекты JavaScript744Объект Global744Объект Number744Объект Boolean744Объект String745Замена745Получение символов745Получение подстроки745Объект RegExp745Проверка строки746Поиск позиции совпадений746Найденное совпадение746Объект Array746Дополнение массива элементами747Адресация элементов747Изменение порядка элементов массива747Преобразование массива в строку748Объединение массивов748Упорядочивание элементов748Многомерные массивы748Объект Date749Объект Маth750Модуль числа750Округление751Определение максимума и минимума751Возведение в степень751Вычисление квадратного корня751Генератор случайных чисел752Тригонометрические методы752Вычисление натурального логарифма752Объект Function753Резюме753Глава 52. Классы поддержки JavaScript и практические примеры754Класс QJSValue754Класс QJSEngine754Практические примеры755«Черепашья» графика755Сигналы, слоты и функции762Полезные дополнительные функции765Резюме769Часть VIII. Технология Qt Quick771Глава 53. Знакомство с Qt Quick772А зачем?772Введение в QML774Быстрый старт776Использование JavaScript в QML782Резюме783Глава 54. Элементы785Визуальные элементы785Свойства элементов788Собственные свойства790Создание собственных элементов793Создание собственных модулей795Динамическое создание элементов795Элемент Flickable796Готовые элементы пользовательского интерфейса797Диалоговые окна802Резюме805Глава 55. Управление размещением элементов806Фиксаторы806Традиционные размещения813Размещение в виде потока817Резюме819Глава 56. Элементы графики820Цвета820Растровые изображения821Элемент Image821Элемент BorderImage825Градиенты826Шрифты828Рисование на элементах холста828Шейдеры и эффекты833Резюме837Глава 57. Пользовательский ввод838Область мыши838Сигналы841Ввод с клавиатуры845Фокус846«Сырой» ввод848Мультитач850Резюме852Глава 58. Анимация853Анимация при изменении свойств853Анимация для изменения числовых значений855Анимация с изменением цвета856Анимация с поворотом857Анимации поведения858Параллельные и последовательные анимации860Состояния и переходы863Состояния863Переходы866Модуль частиц868Резюме872Глава 59. Модель/Представление873Модели873Модель списка873XML-модель874JSON-модель876Представление данных моделей877Элемент ListView877Элемент GridView880Элемент PathView882Визуальная модель данных884Резюме886Глава 60. Qt Quick и C++888Использование языка QML в C++888Взаимодействие из C++ со свойствами QML-элементов и вызов их функций889Соединение QML-сигналов со слотами C++891Использование компонентов языка C++ в QML894Экспорт объектов и виджетов из C++ в QML895Использование зарегистрированных объектов C++, их свойств и методов в QML897Реализация визуальных элементов QML на C++901Класс QQuickImageProvider904Резюме909Глава 61. 3D-графика Qt 3D910Основы910Cвет911Камера9123D-объекты913Материалы916Трансформация919Анимация921Qt 3D Studio923Резюме924Часть IX. Мобильные приложения и Qt927Глава 62. Введение в мир мобильных приложений928Смартфоны меняют все928Виртуальные магазины приложений930Распространение приложений вне виртуального магазина932Qt и разработка мобильных приложений932Резюме934Глава 63. Подготовка к работе над мобильными приложениями935Подготовка среды для разработки iOS-приложений935Подготовка среды для разработки Android приложений938Запуск приложений на реальном устройстве945Резюме946Глава 64. Особенности разработки приложений для мобильных устройств948Анатомия файлов свойств для iOS- и Android-приложений949Файл свойств iOS-приложений949Файл свойств Android-приложений951Полноэкранный режим955iOS-реализация956Android-реализация956Автоматический поворот956Конфигурирование приложений для поддержки поворота957iOS-реализация957Android-реализация958Обработка поворота в приложениях958Сенсоры960Пользовательский ввод при помощи пальцев964Положение рук967Резюме967Глава 65. Пример разработки мобильного приложения969Обдумывание и планирование приложения969Название приложения970Значок приложения970Что будет в первой версии?971Пишем код973Добавление к приложению значков и стартовых экранов980iOS-реализация980Android-реализация982Резюме983Глава 66. Публикация в магазине мобильных приложений984Этапы работы для App Store984Регистрация984Настройки для запуска приложений на реальных устройствах985Создание электронной подписи991Создание страницы приложения992Загрузка и публикация приложения998Этапы работы для Google Play1000Регистрация1001Создание страницы приложения1001Создание электронной подписи1005Загрузка и публикация приложения1007Резюме1009 Приложения1011Приложение 1. Настройка среды для работы над Qt-приложениями1012Настройка среды для Mac OS X1012Настройка среды для Windows1013Настройка среды для Ubuntu Linux1015Приложение 2. Таблица простых чисел1018Приложение 3. Таблицы семибитной кодировки ASCII1021Приложение 4. Описание архива с примерами1024Предметный указатель1034[/html]

   Technical Details
categoryTitle: Научная и техническая литература
   Price history chart & currency exchange rate

Customers also viewed