2010г.
Количество страниц: 896
Книга Qt4.5. Профессиональное программирование на C++. Шлее посвящена создании приложений для Windows, Линукс и Mac OS X с использованием библиотеки Qt версии 4.5. Детально рассмотрены возможности, предоставляемые этой библиотекой, и описаны особенности, выгодно отличающие ее от иных библиотек. В первый раз описана интегрированная среда разработки Qt Creator. Книга содержит исчерпывающую информацию о классах Qt4 и к тому же практические рекомендации их использования, проиллюстрированные на большом числе детально прокомментированных примеров. DVD содержит исходные тексты описанных в книжке примеров, библиотеку Qt4.5 и интегрированную среду разработки Qt Creator для Windows, Линукс и Mac OS X
Оглавление книги
Qt4.5. Профессиональное программирование на C++. Шлее
Оглавление Предисловие Маттиаса Эттриха 3
Благодарности 5
Предисловие 7
Введение 9
Структура книги 16
ЧАСТЬ I. ОСНОВЫ Qt
27
Глава 1. Обзор иерархии классов Qt
29
Первая программа на Qt 29
Модули Qt 31
Резюме 37
Глава 2. Философия объектной модели
38
Механизм сигналов и слотов 41
Организация объектных иерархий 55
Метаобъектная информация 57
Резюме 58
Глава 3. Работа с Qt
60
Интегрированная среда разработки IDE 60
Qt Assistant 60
Работа с qmake 62
Рекомендации для проекта с Qt 65
Метаобъектный компилятор MOC 66
Компилятор ресурсов RCC 67
Структура Qt-проекта 68
Методы отладки 69
Глобальные определения Qt 75
Резюме 76
Глава 4. Библиотека контейнеров
77
Контейнерные классы 78
Итераторы 80
Последовательные контейнеры 85
Ассоциативные контейнеры 93
Алгоритмы 99
Строки 102
Произвольный тип QVariant 106
Модель общего использования данных 107
Резюме 109
ЧАСТЬ II. ЭЛЕМЕНТЫ УПРАВЛЕНИЯ
111
Глава 5. С чего начинаются элементы управления
113
Класс QWidget 114
Стек виджетов 122
Рамки 123
Виджет видовой прокрутки 124
Резюме 126
Глава 6. Управление автоматическим размещением элементов
128
Менеджеры компоновки (layout managers) 129
Порядок следования табулятора 144
Разделители QSplitter 145
Резюме 147
Глава 7. Элементы отображения
148
Надписи 148
Индикатор прогресса 154
Электронный индикатор 157
Резюме 160
Глава 8. Кнопки
161
С чего начинаются кнопки. Класс QAbstractButton 161
Кнопки 162
Флажки 166
Переключатели 168
Группировка кнопок 169
Резюме 174
Глава 9. Элементы настройки
175
Класс QAbstractSlider 175
Ползунок 177
Полоса прокрутки 179
Установщик 181
Резюме 183
Глава 10. Элементы ввода
184
Однострочное текстовое поле 184
Редактор текста 187
С чего начинаются виджеты счетчиков 198
Проверка ввода 200
Резюме 203
Глава 11. Элементы выбора
204
Простой список 204
Иерархические списки 209
Таблицы 212
Выпадающий список 214
Закладки 215
Виджет панели инструментов 217
Резюме 218
Глава 12. Интервью или модель-представление
220
Концепция 221
Индексы модели 230
Иерархические данные 231
Роли элементов 236
Создание собственных моделей данных 237
Промежуточная модель данных (Proxy model) 246
Модель элементно-базированных классов 248
Резюме 251
Глава 13. Цветовая палитра элементов управления
252
Резюме 256
ЧАСТЬ III. СОБЫТИЯ И ВЗАИМОДЕЙСТВИЕ С ПОЛЬЗОВАТЕЛЕМ
257
Глава 14. События
259
Перегрузка специализированных методов обработки событий 262
Реализация собственных классов событий 276
Переопределение метода event() 277
Сохранение работоспособности приложения 281
Резюме 282
Глава 15. Фильтры событий
283
Реализация фильтров событий 284
Резюме 287
Глава 16. Искусственное создание событий
288
Резюме 292
ЧАСТЬ IV. ГРАФИКА И ЗВУК
293
Глава 17. Введение в компьютерную графику
295
Классы геометрии 295
Цвет 300
Резюме 307
Глава 18. Легенда о короле Артуре и контексте рисования
309
Класс QPainter 311
Перья и кисти 313
Градиенты 316
Техника сглаживания (Anti-Aliasing) 318
Рисование 319
Запись команд рисования 326
Трансформация систем координат 327
Графическая траектория (painter path) 330
Отсечения 331
Режим совмещения (composition mode) 333
Резюме 336
Глава 19. Растровые изображения
337
Форматы графических файлов 337
Контекстно-независимое представление 340
Контекстно-зависимое представление 348
Резюме 355
Глава 20. Работа со шрифтами
356
Отображение строки 358
Резюме 361
Глава 21. Графическое представление
362
Сцена 363
Представление 364
Элемент 365
События 369
Виджеты в графическом представлении 375
Резюме 378
Глава 22. Анимация
379
Класс QMovie 379
SVG-графика 381
Резюме 383
Глава 23. Работа с OpenGL
384
Основные положения OpenGL 385
Классы Qt для работы с OpenGL 386
Реализация OpenGL-программы 387
Разворачивание OpenGL-программ во весь экран 391
Графические примитивы OpenGL 392
Трехмерная графика 396
Резюме 401
Глава 24. Вывод на печать
402
Класс QPrinter 402
Резюме 408
Глава 25. Разработка собственных элементов управления
409
Примеры создания виджетов 409
Резюме 416
Глава 26. Элементы со стилем
417
Встроенные стили 419
Создание собственных стилей 424
Использование QStyle для рисования виджетов 432
Использование каскадных стилей документа 433
Резюме 441
Глава 27. Звук
442
Воспроизведение звука 442
Проверка возможности воспроизведения 443
Пример программы, воспроизводящей звук 444
Резюме 448
Глава 28. Мультимедиа
449
Путешествие к истокам Phonon 450
Архитектура Phonon 451
Быстрый старт 453
Создаем простой медиаплеер 455
Резюме 459
ЧАСТЬ V. СОЗДАНИЕ ПРИЛОЖЕНИЙ
461
Глава 29. Сохранение настроек приложения
463
Управление сеансом 471
Резюме 473
Глава 30. Буфер обмена и перетаскивание
474
Буфер обмена 474
Перетаскивание 475
Резюме 490
Глава 31. Интернационализация приложения
491
Подготовка приложения к интернационализации 492
Утилита lupdate 492
Программа Qt Linguist 494
Утилита lrelease. Пример программы, использующей перевод 495
Резюме 497
Глава 32. Создание меню
498
Анатомия меню 498
Отрывные меню 503
Контекстные меню 504
Резюме 506
Глава 33. Диалоговые окна
507
Правила создания диалоговых окон 507
Класс QDialog 508
Стандартные диалоговые окна 515
Окна сообщений 524
Резюме 530
Глава 34. Предоставление помощи
532
Воздушная подсказка 532
Подсказка "Что это" 533
Система помощи (Online Help) 535
Резюме 538
Глава 35. Создание SDI- и MDI-приложений
539
Класс главного окна QMainWindow 539
Класс действия QAction 541
Панель инструментов 542
Доки 545
Строка состояния 545
Окно заставки 548
SDI- и MDI-приложения 550
Резюме 566
Глава 36. Рабочий стол (Desktop)
567
Область оповещений 567
Виджет экрана 574
Резюме 577
ЧАСТЬ VI. ОСОБЫЕ ВОЗМОЖНОСТИ Qt
579
Глава 37. Работа с файлами, директориями и потоками ввода-вывода
581
Ввод-вывод. Класс QIODevice 581
Работа с директориями. Класс QDir 587
Информация о файлах. Класс QFileInfo 592
Наблюдение за файлами и директориями 594
Потоки ввода-вывода 594
Резюме 597
Глава 38. Дата, время и таймер
598
Дата и время 598
Таймер 602
Резюме 608
Глава 39. Процессы и потоки
609
Процессы 609
Потоки 613
Резюме 631
Глава 40. Программирование поддержки сети
632
Сокетное соединение 632
Высокоуровневые классы 646
Резюме 648
Глава 41. Работа с XML
649
Основные понятия и структура XML-документа 650
XML и Qt 651
Работа с DOM 652
Работа с SAX 658
Резюме 662
Глава 42. Программирование баз данных
663
Основные положения SQL 664
Использование SQL в библиотеке Qt 666
Резюме 675
Глава 43. Динамические библиотеки и система расширений
676
Динамические библиотеки 676
Расширения (plug-ins) 680
Резюме 690
Глава 44. Совместное использование Qt с платформозависимыми API
691
Совместное использование с Windows API 692
Совместное использование с Linux 695
Резюме 695
Глава 45. Qt Designer. Быстрая разработка прототипов
696
Создание новой формы в Qt Designer 696
Добавление виджетов 700
Компоновка (layout) 702
Порядок следования табулятора 703
Сигналы и слоты 704
Использование форм в проектах 706
Компиляция 708
Динамическая загрузка формы 709
Резюме 713
Глава 46. Проведение тестов
714
Создание тестов 715
Создание тестов графического интерфейса 722
Параметры для запуска тестов 723
Резюме 724
Глава 47. WebKit
725
Путешествие к истокам 727
А зачем? 727
Быстрый старт 728
Написание простого Web-браузера 730
Резюме 737
Глава 48. Интегрированная среда разработки Qt Creator
738
Первый запуск 739
Создаем проект "Hello Qt Creator" 740
Пользовательский интерфейс Qt Creator 745
Редактирование текста 748
Интерактивный отладчик и программный экзорцизм 756
Резюме 766
Глава 49. Рекомендации по миграции программ из Qt3 в Qt4
767
Основные отличия Qt4 от Qt3 767
Начало перевода на Qt4 771
Резюме 774
ЧАСТЬ VII. ЯЗЫК СЦЕНАРИЕВ Qt Script
775
Глава 50. Основы поддержки сценариев
777
Принцип взаимодействия с языком сценариев 778
Привет, сценарий 783
Резюме 784
Глава 51. Синтаксис языка сценариев
785
Зарезервированные ключевые слова 785
Комментарии 786
Переменные 786
Константы 791
Операции 791
Управляющие структуры 795
Функции 801
Объектная ориентация 804
Резюме 806
Глава 52. Встроенные объекты Qt Script
807
Объект Global 807
Объект Number 807
Объект Boolean 808
Объект String 808
Объект RegExp 809
Объект Array 810
Объект Date 811
Объект Маth 812
Объект Function 815
Резюме 816
Глава 53. Классы поддержки Qt Script и практические примеры
817
Класс QScriptValue 817
Класс QScriptContext 817
Класс QScriptEngine 818
Практические примеры 820
Отладчик Qt Script 833
Резюме 836
Эпилог 837
ПРИЛОЖЕНИЯ 839
Приложение А. Таблицы семибитной кодировки ASCII 841
Приложение В. Таблица простых чисел 845
Приложение С. Глоссарий 848
Приложение D. Описание DVD-диска 853
Предметный указатель 863