Qt4.8. Профессиональное программирование на C++ (+DVD)
Book information
Description
Оглавление Предисловие Маттиаса Эттриха Благодарности Предисловие Структура книги Введение ЧАСТЬ I. ОСНОВЫ QT Глава 1. Обзор иерархии классов Qt Первая программа на Qt Модули Qt Пространство имен Qt Модуль QtCore Модуль QtGui Модуль QtNetwork Модуль QtXml Модуль QtSql Модуль QtOpenGL Модуль QtWebKit Модуль QtSvg Модуль Qt3Support Резюме Глава 2 . Философия объектной модели Механизм сигналов и слотов Сигналы Слоты Соединение объектов Разъединение объектов Организация объектных иерархий Метаобъектная информация Резюме Глава 3 . Работа с Qt Интегрированная среда разработки IDE Qt Assistant Работа с qmake Рекомендации для проекта с Qt Метаобъектный компилятор MOC Компилятор ресурсов RCC Структура Qt-проекта Методы отладки Отладчик GDB (GNU Debugger) Прочие методы отладки Глобальные определения Qt Информация о библиотеке Qt Резюме Глава 4 . Библиотека контейнеров Контейнерные классы Итераторы Итераторы в стиле Java Итераторы в стиле STL Ключевое слово foreach Последовательные контейнеры Вектор QVector Массив байтов QByteArray Массив битов QBitArray Списки QList, QLinkedList Стек QStack Очередь QQueue Ассоциативные контейнеры Словари QMap, QMultiMap Хэши QHash и QMultiHash Множество QSet Алгоритмы Сортировка Поиск Сравнение Заполнение значениями Строки Регулярные выражения Произвольный тип QVariant Модель общего использования данных Резюме ЧАСТЬ II. ЭЛЕМЕНТЫ УПРАВЛЕНИЯ Глава 5. С чего начинаются элементы управления Класс QWidget Размеры и координаты виджета Механизм закулисного хранения Установка фона виджета Изменение указателя мыши Стек виджетов Рамки Виджет видовой прокрутки Резюме Глава 6 . Управление автоматическим размещением элементов Менеджеры компоновки (layout managers) Горизонтальное и вертикальное размещения Класс QBoxLayout Горизонтальное размещение QHBoxLayout Вертикальное размещение QVBoxLayout Вложенные размещения Табличное размещение QGridLayout Порядок следования табулятора Разделители QSplitter Резюме Глава 7 . Элементы отображения Надписи Индикатор прогресса Электронный индикатор Резюме Глава 8 . Кнопки, флажки и переключатели С чего начинаются кнопки. Класс QAbstractButton Установка текста и изображения Взаимодействие с пользователем Опрос состояния Кнопки Флажки Переключатели Группировка кнопок Резюме Глава 9 . Элементы настройки Класс QAbstractSlider Изменение положения Установка диапазона Установка шага Установка и получение значений Ползунок Полоса прокрутки Установщик Резюме Глава 10. Элементы ввода Однострочное текстовое поле Редактор текста Запись в файл Расцветка синтаксиса (syntax highlighting) С чего начинаются виджеты счетчиков Счетчик Элемент ввода даты и времени Проверка ввода Резюме Глава 11 . Элементы выбора Простой список Вставка элементов Выбор элементов пользователем Изменение элементов пользователем Режим пиктограмм Сортировка элементов Иерархические списки Сортировка элементов Таблицы Выпадающий список Вкладки Виджет панели инструментов Резюме Глава 12 . Интервью или модель-представление Концепция Модель Представление Выделение элемента Делегат Индексы модели Иерархические данные Роли элементов Создание собственных моделей данных Промежуточная модель данных (Proxy model) Модель элементно-базированных классов Резюме Глава 13 . Цветовая палитра элементов управления Резюме ЧАСТЬ III. СОБЫТИЯ И ВЗАИМОДЕЙСТВИЕ С ПОЛЬЗОВАТЕЛЕМ Глава 14 . События Переопределение специализированных методов обработки событий События клавиатуры Класс QKeyEvent Класс QFocusEvent Событие обновления контекста рисования. Класс QPaintEvent События мыши Класс QMouseEvent Класс QWheelEvent Методы enterEvent() и leaveEvent() Событие таймера. Класс QTimerEvent События перетаскивания (drag & drop) Класс QDragEnterEvent Класс QDragLeaveEvent Класс QDragMoveEvent Класс QDropEvent Остальные классы событий Класс QChildEvent Класс QCloseEvent Класс QHideEvent Класс QMoveEvent Класс QShowEvent Класс QResizeEvent Реализация собственных классов событий Переопределение метода event() Сохранение работоспособности приложения Резюме Глава 15 . Фильтры событий Реализация фильтров событий Резюме Глава 16 . Искусственное создание событий Резюме ЧАСТЬ IV. ГРАФИКА И ЗВУК Глава 17 . Введение в компьютерную графику Классы геометрии Точка Двумерный размер Прямоугольник Прямая линия Полигон Цвет Класс QСolor Цветовая модель RGB Цветовая модель HSV Цветовая модель CMYK Палитра Предопределенные цвета Резюме Глава 18 . Легенда о короле Артуре и контексте рисования Класс QPainter Перья и кисти Перо Кисть Градиенты Техника сглаживания (Anti-aliasing) Рисование Рисование точек Рисование линий Рисование сплошных прямоугольников Рисование заполненных фигур Запись команд рисования Трансформация систем координат Перемещение Масштабирование Поворот Скос Трансформационные матрицы Графическая траектория (painter path) Отсечения Режим совмещения (composition mode) Графические эффекты Резюме Глава 19 . Растровые изображения Форматы графических файлов Формат BMP Формат GIF Формат PNG Формат JPEG Формат XPM Контекстно-независимое представление Класс QImage Класс QImage как контекст рисования Контекстно-зависимое представление Класс QPixmap Класс QPixmapCache Класс QBitmap Использование масок для QPixmap Создание нестандартного окна виджета Резюме Глава 20. Работа со шрифтами Отображение строки Резюме Глава 21. Графическое представление Сцена Представление Элемент События Виджеты в графическом представлении Резюме Глава 22 . Анимация Класс QMovie SVG-графика Анимационный движок и машина состояний Смягчающие линии Машина состояний и переходы Резюме Глава 23. Работа с OpenGL Основные положения OpenGL Классы Qt для работы с OpenGL Реализация OpenGL-программы Разворачивание OpenGL-программ во весь экран Графические примитивы OpenGL Трехмерная графика Резюме Глава 24 . Вывод на печать Класс QPrinter Резюме Глава 25. Разработка собственных элементов управления Примеры создания виджетов Резюме Глава 26. Элементы со стилем Встроенные стили Создание собственных стилей Метод рисования простых элементов управления Метод рисования элементов управления Метод рисования составных элементов управления Реализация стиля простого элемента управления Использование QStyle для рисования виджетов Использование каскадных стилей документа Основные положения Изменение подэлементов Управление состояниями Пример Резюме Глава 27. Звук Воспроизведение звука Проверка возможности воспроизведения Пример программы, воспроизводящей звук Резюме Глава 28. Мультимедиа Путешествие к истокам Phonon Архитектура Phonon Быстрый старт Создаем простой медиаплеер Резюме ЧАСТЬ V. СОЗДАНИЕ ПРИЛОЖЕНИЙ Глава 29. Сохранение настроек приложения Управление сеансом Резюме Глава 30 . Буфер обмена и перетаскивание Буфер обмена Перетаскивание Реализация drag Реализация drop Создание собственных типов перетаскивания Резюме Глава 31 . Интернационализация приложения Подготовка приложения к интернационализации Утилита lupdate Программа Qt Linguist Утилита lrelease. Пример программы, использующей перевод Смена перевода в процессе работы программы Завершающие размышления Резюме Глава 32 . Создание меню Анатомия меню Отрывные меню Контекстные меню Резюме Глава 33 . Диалоговые окна Правила создания диалоговых окон Класс QDialog Модальные диалоговые окна Немодальные диалоговые окна Создание собственного диалогового окна Стандартные диалоговые окна Диалоговое окно выбора файлов Диалоговое окно настройки принтера Диалоговое окно выбора цвета Диалоговое окно выбора шрифта Диалоговое окно ввода Диалоговое окно прогресса Диалоговые окна мастера Диалоговые окна сообщений Окно информационного сообщения Окно предупреждающего сообщения Окно критического сообщения Окно сообщения о программе Окно сообщения About Qt Окно сообщения об ошибке Резюме Глава 34 . Предоставление помощи Всплывающая подсказка Подсказка "Что это" Система помощи (Online Help) Резюме Глава 35 . Создание SDI- и MDI-приложений Класс главного окна QMainWindow Класс действия QAction Панель инструментов Доки Строка состояния Окно заставки SDI- и MDI-приложения SDI-приложение MDI-приложение Резюме Глава 36 . Рабочий стол (Desktop) Область уведомлений Виджет экрана Класс сервиса рабочего стола Резюме ЧАСТЬ VI. ОСОБЫЕ ВОЗМОЖНОСТИ QT Глава 37 . Работа с файлами, каталогами и потоками ввода-вывода Ввод-вывод. Класс QIODevice Работа с файлами. Класс QFile Класс QBuffer Класс QTemporaryFile Работа с каталогами. Класс QDir Просмотр содержимого каталога Информация о файлах. Класс QFileInfo Файл или каталог? Путь и имя файла Информация о дате и времени Получение атрибутов файла Определение размера файла Наблюдение за файлами и каталогами Потоки ввода-вывода Класс QTextStream Класс QDataStream Резюме Глава 38 . Дата, время и таймер Дата и время Класс даты QDate Класс времени QTime Класс даты и времени QDateTime Таймер Событие таймера Класс QTimer Класс QBasicTimer Резюме Глава 39 . Процессы и потоки Процессы Потоки Приоритеты Обмен сообщениями Сигнально-слотовые соединения Отправка событий Синхронизация Мьютексы Семафоры Ожидание условий Возникновение тупиковых ситуаций Фреймворк QtConcurrent Резюме Глава 40 . Программирование поддержки сети Сокетное соединение Модель "клиент-сервер" Реализация TCP-сервера Реализация TCP-клиента Реализация UDP-сервера и UDP-клиента Высокоуровневые классы Класс QFtp Класс QHttp Управляющий доступом к сети Блокирующий подход Режим прокси Резюме Глава 41. Работа с XML Основные понятия и структура XML-документа XML и Qt Работа с DOM Чтение XML-документа Создание и запись XML-документа Работа с SAX Чтение XML-документа Класс QXmlStreamReader для чтения XML Использование XQuery Резюме Глава 42. Программирование баз данных Основные положения SQL Создание таблицы Операция вставки Чтение данных Изменение данных Удаление Использование языка SQL в библиотеке Qt Соединение с базой данных (второй уровень) Исполнение команд SQL (второй уровень) Классы SQL-моделей для интервью (третий уровень) Модель запроса Табличная модель Прохождение по строкам модели Фильтрация и сортировка Вставка новых записей Удаление записей Реляционная модель Резюме Глава 43. Динамические библиотеки и система расширений Динамические библиотеки Динамическая загрузка и выгрузка библиотеки Расширения (plug-ins) Расширения для Qt Поддержка собственных расширений в приложениях Создание расширения для приложения Резюме Глава 44. Совместное использование Qt с платформозависимыми API Совместное использование с Windows API Совместное использование с Linux Совместное использование с Mac OS X Системная информация Резюме Глава 45. Qt Designer. Быстрая разработка прототипов Создание новой формы в Qt Designer Добавление виджетов Компоновка (layout) Порядок следования табулятора Сигналы и слоты Использование в формах собственных виджетов Использование форм в проектах Компиляция Динамическая загрузка формы Резюме Глава 46. Проведение тестов Создание тестов Тесты с передачей данных Создание тестов графического интерфейса Параметры для запуска тестов Резюме Глава 47. WebKit Путешествие к истокам А зачем? Быстрый старт Написание простого Web-браузера Ввод адресов Управление историей Загрузка страниц и ресурсов Пишем Web-браузер, попытка номер два Резюме Глава 48. Интегрированная среда разработки Qt Creator Первый запуск Создаем проект "Hello Qt Creator" Пользовательский интерфейс Qt Creator Окна вывода Окно проектного обозревателя Секция компилирования и запуска Редактирование текста Как подсвечен ваш синтаксис? Скрытие и отображение кода Автоматическое дополнение кода Поиск и замена Комбинации клавиш для ускорения работы Вертикальное выделение текста Автоматическое форматирование текста Комментирование блоков Просмотр кода методов класса их определения и атрибутов Помощь, которая всегда рядом Использование стороннего редактора Интерактивный отладчик и программный экзорцизм Синтаксические ошибки Ошибки компоновки Ошибки времени исполнения Логические ошибки Трассировка Команда Step Over Команда Step Into Команда Step Out Контрольные точки Окно переменных (Local and Watches) Окно цепочки вызовов (Call Stack) Резюме Глава 49. Рекомендации по миграции программ из Qt3 в Qt4 Основные отличия Qt4 от Qt3 Классы графического интерфейса Контейнерные классы Классы программирования сети Классы для программирования баз данных Qt Designer Начало перевода на Qt4 Модуль совместимости Qt3Support Завершение перевода на Qt4 Резюме ЧАСТЬ VII. ЯЗЫК СЦЕНАРИЕВ QT SCRIPT Глава 50. Основы поддержки сценариев Принцип взаимодействия с языком сценариев Первый шаг использования сценария Привет, сценарий Резюме Глава 51. Синтаксис языка сценариев Зарезервированные ключевые слова Комментарии Переменные Предопределенные типы данных Целый тип Вещественный тип Строковый тип Логический тип Преобразование типов Константы Операции Операторы присваивания Арифметические операции Поразрядные операции Операции сравнения Приоритет выполнения операций Управляющие структуры Условные операторы Оператор if ... else Оператор switch Оператор условного выражения Циклы Операторы break и continue Цикл for Цикл while Цикл do...while Оператор with Исключительные ситуации Оператор try...catch Оператор throw Функции Встроенные функции Объектная ориентация Статические классы Наследование Перегрузка методов Сказание о "джейсоне" Резюме Глава 52. Встроенные объекты Qt Script Объект Global Объект Number Объект Boolean Объект String Преобразование строки к нижнему и верхнему регистрам Замена Получение символов Получение подстроки Объект RegExp Проверка строки Поиск совпадений Объект Array Дополнение массива элементами Адресация элементов Изменение порядка элементов массива Преобразование массива в строку Объединение массивов Упорядочивание элементов Многомерные массивы Объект Date Объект Маth Модуль числа Округление Определение максимума и минимума Возведение в степень Вычисление квадратного корня Генератор случайных чисел Тригонометрические методы Вычисление натурального логарифма Объект Function Резюме Глава 53. Классы поддержки Qt Script и практические примеры Класс QScriptValue Класс QScriptContext Класс QScriptEngine Практические примеры "Черепашья" графика Сигналы, слоты и функции Отладчик Qt Script Резюме ЧАСТЬ VIII. ТЕХНОЛОГИЯ QT QUICK Глава 54. Знакомство с Qt Quick А зачем? Введение в QML Быстрый старт Резюме Глава 55. Элементы Визуальные элементы Свойства элементов Собственные свойства Создание собственных элементов Использование JavaScript в QML Резюме Глава 56. Управление размещением элементов Фиксаторы Традиционные размещения Резюме Глава 57. Элементы графики Цвета Растровые изображения Элемент Image Элемент BorderImage Градиенты Шрифты Резюме Глава 58. Пользовательский ввод Область мыши Сигналы Ввод с клавиатуры Фокус "Сырой" ввод Резюме Глава 59. Анимация Анимация при изменении свойств Анимация для изменения числовых значений Анимация с изменением цвета Анимация с поворотом Анимации поведения Параллельные и последовательные анимации Состояния и переходы Состояния Переходы Резюме Глава 60. Модель/Представление Модели Модель списка XML-модель Представления данных моделей Элемент Flickable Элемент ListView Элемент GridView Элемент PathView Резюме Глава 61. Qt Quick и C++ Использование языка QML в C++ Использование компонентов языка C++ в QML Резюме Эпилог ПРИЛОЖЕНИЯ Приложение 1. Таблицы семибитной кодировки ASCII Приложение 2. Таблица простых чисел Приложение 3. Глоссарий Приложение 4 Описание архива с примерами Предметный указатель
Similar books
Qt4.5. Профессиональное программирование на C++
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Recverdo de las obligaciones del ministerio apostólico en la cura de las almas. Manval moral ordenado primariamente a los señores párochos, o Curas, de este nuevo Mundo, en este Reino del Perú, y los demás de las Indias; según los Decretos del Santo Concilio Tridentino, y del Sagrado Concilio Tercero Limense, aprobado por la Santidad de el Papa Sixto V; y según los demás Concilios y Sínodos, a que se refiere. Obra breve, y compendiosa, en qve se procura juntar con distinción, y claridad, todo quanto se halla dividido, y difuso, en varios Autores, que escribieron al intento propuesto en particular. Pónese en ella sumariamẽte la sustancia de los Cõcilios Limenses, assí segundo, como tercero... [Recuerdo de las obligaciones del ministerio apostólico en la cura de las almas : Manual moral ordenado primariamente a los señores párrocos o curas de este Nuevo Mundo en este Reino del Perú y los demás de las Indias]
1717 · PDF