Вступление Предисловие Благодарности Краткая история Qt Часть I. Основные возможности средств разработки Qt Глава 1. Первое знакомство «Здравствуй, Qt» Взаимодействие с пользователем Компоновка виджетов Использование справочной документации Стили виджетов Глава 2. Создание диалоговых окон Подклассы QDialog Подробное описание технологии сигналов и слотов Метаобъектная система Qt Быстрое проектирование диалоговых окон Изменяющиеся диалоговые окна Динамические диалоговые окна Встроенные классы виджетов и диалоговых окон Глава 3. Создание главных окон Создание подкласса QMainWindow Создание меню и панелей инструментов Создание и настройка строки состояния Реализация меню File Применение диалоговых окон Сохранение настроек приложения Работа со многими документами Экранные заставки Глава 4. Реализация функциональности приложения Центральный виджет Создание подкласса QTableWidget Хранение данных в объектах типа «элемент» Загрузка и сохранение Реализация меню Edit Реализация других меню Создание подкласса QTableWidgetltem Глава 5. Создание пользовательских виджетов Настройка виджетов Qt Создание подкласса QWidget Интеграция пользовательских виджетов в Qt Designer Двойная буферизация Часть II. Средний уровень Qt—программирования Глава 6. Управление компоновкой Компоновка виджетов на форме Стековая компоновка Разделители Области с прокруткой Прикрепляемые виджеты и панели инструментов Многодокументный интерфейс Глава 7. Обработка событий Переопределение обработчиков событий Установка фильтров событий Обработка событий во время продолжительных процессов Глава 8. Графика 2D и 3D Рисование при помощи QPainter Преобразования рисовальщика Высококачественное воспроизведение изображения при помощи QImage Вывод на печатающее устройство Графические средства OpenGL Глава 9. Технология «drag-and-drop» Обеспечение поддержки технологии «drag-and-drop» Поддержка пользовательских типов переносимых объектов Работа с буфером обмена Глава 10. Классы отображения элементов Применение удобных классов отображения элементов Применение заранее определенных моделей Реализация пользовательских моделей Реализация пользовательских делегатов Глава 11. Классы—контейнеры Последовательные контейнеры Как работает неявное совместное использование данных Ассоциативные контейнеры Обобщенные алгоритмы Строки, массивы байтов и объекты произвольного типа Глава 12. Ввод—вывод Чтение и запись двоичных данных Чтение и запись текста Работа с каталогами Ресурсы, внедренные в исполняемый модуль Связь между процессами Глава 13. Базы данных Соединение с базой данных и выполнение запросов Представление данных в табличной форме Создание форм по технологии «master—detail» Глава 14. Работа с сетью Написание FTP—клиентов Написание НТТР—клиента Написание клиент—серверных приложений на базе TCP Передача и прием дейтаграмм UDP Глава 15. XML Чтение документов XML при помощи интерфейса SAX Чтение документов XML при помощи интерфейса DOM Запись документов XML Глава 16. Обеспечение интерактивной помощи Всплывающие подсказки, комментарии в строке состояния и справки «что это такое?» Использование QTextBrowser в качестве простого браузера системы помощи Использование Qt Assistant для мощной интерактивной системы помощи Часть III. Advanced Qt Глава 17. Интернационализация Работа с Unicode Создание переводимого интерфейса приложения Динамическое переключение языков Перевод приложений Глава 18. Многопоточная обработка Создание потоков Синхронизация потоков Взаимодействие с главным потоком Применение классов Qt во вторичных потоках Глава 19. Создание подключаемых модулей Расширение Qt с помощью подключаемых модулей Как обеспечить в приложении возможность подключения модулей Написание подключаемых к приложению модулей Глава 20. Возможности, зависимые от платформы Применение «родных» программных интерфейсов Применение ActiveX в системе Windows Управление сеансами в системе X11 Глава 21. Программирование встроенных систем Первое знакомство с Qtopia Настройка Qtopia Core Приложение А. Установка Qt Замечание о лицензировании Установка Qt/Windows Установка Qt/Mac Установка Qt/X11 Приложение Б. Введение в С++ для программистов Java и С# Первое знакомство с С++ Основные отличия языков Элементарные типы данных Определения класса Указатели Ссылки Массивы Символьные строки Перечисления Имена, вводимые typedef Преобразование типов Перегрузка операторов Типы значений Глобальные переменные и функции Пространства имен Препроцессор Стандартная библиотека С++ 1 2 3 4 5 6 7 8 9 10
Часть I. Основные возможности средств разработки Qt Глава 1. Первое знакомство В данной главе показано на примере создания простого приложения с графическим интерфейсом пользователя (GUI — graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рассматриваются две ключевые идеи Qt: сигналы и слоты (signals and slots) и компоновка графических элементов (layout). В главе 2 мы рассмотрим более подробно возможности Qt, а в главе 3 мы начнем разрабатывать более реалистичное приложение.
Если вы уже знакомы c Java или C#, но имеете лишь ограниченный опыт работы с С++, возможно, вы захотите начать с Приложения Б , в котором дается введение в С++.