Информация о книге

978-5-9775-0736-3

Главная  » Тематика определяется » Qt 4.8. Профессиональное программирование на C++

Шлее М., Qt 4.8. Профессиональное программирование на C++


серия: В подлиннике
BHV, 2012 г., 978-5-9775-0736-3


Описание книги

Книга посвящена разработке приложений для Windows, Linux и Mac OS X с использованием библиотеки Qt версии 4.8. Подробно рассмотрены возможности, предоставляемые этой библиотекой, и описаны особенности, выгодно отличающие ее от других библиотек. Описана интегрированная среда разработки Qt Creator. Показано создание пользовательских интерфейсов с помощью Qt Quick и QML. Книга содержит исчерпывающую информацию о классах Qt 4, а также даны практические рекомендации их применения, проиллюстрированные на большом количестве подробно прокомментированных примеров. Проекты примеров из книги размещены на сайте издательства.

Скачать, но не бесплатно эту книгу можно в интернет-магазинах

  Литрес - 455 руб.

Читать онлайн


Доступен для чтения фрагмент книги

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Часть 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<T>
Массив байтов QByteArray
Массив битов QBitArray
Списки QList<T>, QLinkedList<T>
Стек QStack<T>
Очередь QQueue<T>
Ассоциативные контейнеры
Словари QMap<K,T>, QMultiMap<K,T>
Хэши QHash<K,T> и QMultiHash<K,T>
Множество QSet<T>
Алгоритмы
Сортировка
Поиск
Сравнение
Заполнение значениями
Строки
Регулярные выражения
Произвольный тип 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. Описание архива с примерами
Предметный указатель


Об авторе


Отзывы

Советую новичкам  [15 April 2013]
Внятное изложение основных возможностей библиотеки + SQL, Script. Освещены основы компиляции, основы работы в Qt Designer и Qt Creator.
Хороший учебник - справочник  [ 7 December 2012]
Если вы хотите начать осваивать Qt - начать нужно именно с этой книги. Написано легко, внятно, по делу. Примеры короткие и наглядные. Охватывает большую часть библиотеки.

Последние поступления в рубрике "Тематика определяется"



Математика. Подготовка к ЕГЭ. Задачи с параметрами.10-11 классы 

В предлагаемом пособии представлен обширный материал, посвященный двум заключительным и сложным темам ЕГЭ профильного уровня: задачам с параметрами и числам и их свойствам. На многочисленных примерах с подробными решениями и обоснованиями (как и требуется на экзамене) показаны различные методы и решения задач....

План счетов бухгалтерского учета с последними изменениями 

Читателю предлагается самая последняя редакция Плана счетов бухгалтерского учета финансово-хозяйственной деятельности организаций и инструкции по его применению с учетом последних приказов Минфина РФ. План счетов - это важнейший инструмент бухгалтерского учета, настольная книга для каждого практического бухгалтера....

На ферме. Книжка с наклейками 

Игры с наклейками - занятие не только интересное, но и полезное. С этой книгой малыш познакомится с различными видами транспорта, потренируется решать простые логические задачки и находить соответствия....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Шлее М., Qt 4.8. Профессиональное программирование на C++ в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.