В книге "Qt 4 на примерах" рассмотрена разработка приложений на языке C++ для Windows и/или Linux с применением библиотеки Qt 4, которая широко используется как в мире коммерческого, так и свободного программного обеспечения. Приведены примеры решения многих задач, с которыми сталкивается разработчик при проектировании пользовательского интерфейса, сетевых взаимодействий, применении средств мультимедиа, языков XML и XQuery, многопоточном программировании. Особое внимание уделено созданию приложений баз данных и программ, которые могут расширяться конечным пользователем с помощью встроенных языков Qt Script или Python. Компакт-диск содержит исходные тексты описанных в книге примеров и библиотеку Qt 4.4 для Windows, Linux и Mac OS X.
Содержание
Оглавление Введение 9 Коммерческие и свободные версии Qt 4 12 Благодарности 13 Глава 1. Инструменты программиста 15 1.1. Microsoft Visual C++ 16 1.2. Intel C++ 17 1.3. Borland C++ 17 1.4. GNU C++ и MinGW 17 1.5. QDevelop 17 1.6. Рекомендации по выбору компилятора 19 Глава 2. "Обычный" C++ 21 2.1. Консольная программа на языке C++ 21 2.2. Компиляция и выполнение программы с помощью командной строки Microsoft Visual C++ 23 2.3. Компиляция и выполнение программы с помощью командной строки в системах Linux/FreeBSD/Solaris/HP-UX/Mac OS X 25 2.4. Создание консольного приложения в Microsoft Visual Studio 2005 26 2.5. Шаблоны в C++ 30 Глава 3. Основы Qt 4 35 3.1. Обзор классов библиотеки Qt 4 35 3.2. Компиляция библиотеки Qt 40 3.2.1. Компиляция в системе Microsoft Windows 41 3.2.2. Компиляция в системе Linux/FreeBSD 43 3.3. Простейшее приложение Qt 4 44 3.4. Компиляция приложений Qt 4 из командной строки 45 3.5. Компиляция приложений Qt 4 с помощью интегрированной среды Microsoft Visual Studio 47 3.6. Использование кириллицы 48 3.7. Консольное приложение Qt 52 3.8. Создание новых классов 54 3.9. Правила именования объектов в библиотеке Qt 57 Глава 4. Текстовые надписи 59 4.1. Форматированный текст 60 4.2. Ссылки Интернета 61 4.3. Редактируемая надпись 62 4.4. Надписи с рисунками 63 4.5. Несколько элементов на одной форме 64 4.6. Диалог с текстовым сообщением 66 4.7. Форматирование строк 67 4.8. Ввод текста с клавиатуры 68 Глава 5. Обработка событий 71 5.1. Сигналы и слоты 71 5.2. События 79 5.3. Обработка событий с помощью виртуальных методов 80 5.4. Фильтры для событий 84 5.5. Сопоставление сигналов 88 Глава 6. Кнопки и диалоги 91 6.1. Кнопки нажатия QPushButton 91 6.2. Программная эмуляция нажатия кнопок 97 6.3. Группы переключателей 99 6.4. Группа кнопок QButtonGroup 101 6.5. Кнопки диалогов 103 6.6. Модальные диалоги 104 6.7. Стандартные диалоги 108 6.8. Окно внутри диалога 110 Глава 7. Меню, панели инструментов и строка состояния 113 7.1. Строка состояния 113 7.2. Действия 115 7.3. Меню 115 7.4. Виджеты в строке состояния 116 7.5. Примеры приложений 118 Глава 8. Размещение элементов на форме 127 8.1. "Ручное" размещение элементов формы 127 8.2. Менеджеры размещения 134 Глава 9. Автоматизация создания диалогов, отладка программ и предоставление помощи 139 9.1. Создание диалога с помощью Qt Designer 139 9.2. Использование диалога, созданного в Qt Designer 145 9.3. Отладка программ 150 9.4. Система помощи 153 Глава 10. Работа с данными 159 10.1. Числа и строки 159 10.2. Массивы и списки 160 10.3. Контейнеры и итераторы 163 10.4. Класс QObject 165 10.5. Неявное совместное использование данных 167 10.6. Явное совместное использование данных 170 Глава 11. Каталоги, файлы, потоки ввода-вывода, ресурсы 173 11.1. Чтение и запись текстового файла 173 11.2. Работа с двоичными данными 176 11.3. Каталоги и свойства файлов 180 11.4. Временные файлы 180 11.5. Каталог приложения 181 11.6. Копирование файлов 181 11.7. Хранение ресурсов в программе 183 11.8. Хранение скомпилированных ресурсов в отдельном двоичном файле 184 11.9. Значок приложения 185 11.10. Диалог выбора файла 185 11.11. Сжатие информации 186 Глава 12. Приложения SDI и MDI 189 12.1. Пример приложения SDI: текстовый редактор 189 12.2. Открытие и сохранение файлов 194 12.3. Команды редактирования 201 12.4. Пример приложения MDI 203 12.5. Плавающие окна 211 12.6. Хранение настроек приложения 214 12.7. Разное 219 Глава 13. Графика и печать 221 13.1. Класс QPainter 222 13.2. Пользовательский стиль линий 227 13.3. Форматированный текст и HTML 228 13.4. Отображение форматированного текста 232 13.5. Часы со стрелками 232 13.6. Класс QPixmap 237 13.7. Работа с принтером 239 13.8. Печать на нескольких страницах 250 13.9. Предварительный просмотр перед печатью 252 13.10. Графические сцены 254 Глава 14. Списки, таблицы и деревья 263 14.1. Список QListWidget 263 14.2. Реакция на действия пользователя 264 14.3. Редактирование элементов списка 267 14.4. Таблица QTableWidget 267 14.5. Дерево QTreeWidget 278 Глава 15. Технология "Модель - представление" 287 15.1. Табличная модель и ее представления 287 15.2. Выравнивание элементов списка 299 15.3. Галочки для элементов таблицы 300 15.4. Дерево каталогов и файлов 303 15.5. Иерархическая модель 306 15.6. Дерево групп и таблица элементов 313 15.7. Разное 323 Глава 16. Процессы, потоки, синхронизация 333 16.1. Процессы 333 16.2. Потоки 335 16.3. Реентерабельность и потокобезопасность 336 16.4. Методы синхронизации процессов и потоков 338 16.4.1. Мьютексы 338 16.4.2. Читатели и писатели 341 16.4.3. Семафоры 341 16.4.4. Условие ожидания 342 16.5. Производитель - потребитель 343 16.6. Мультипликация 346 16.7. QtConcurrent: высокоуровневое API для параллельного программирования 350 Глава 17. Работа с базами данных 359 17.1. Компиляция SQL-драйверов 359 17.2. Подключение к базе данных и выполнение SQL-запросов 362 17.3. Работа с таблицами баз данных 374 Глава 18. Модели таблиц баз данных и их представления 381 18.1. Разработка модели и представления таблицы БД 381 18.2. Делегаты для ячеек таблицы 389 18.3. Связывание элементов управления форм с моделью данных 399 18.4. Консоль запросов 408 18.5. Связывание таблиц 420 18.6. Выполнение запросов в отдельных потоках 422 Глава 19. Средства XML 431 19.1. DOM API 432 19.2. SAX API 437 19.3. Класс QStreamReader 440 19.4. Модуль QtXmlPatterns 443 Глава 20. Локальные сети и Интернет 447 20.1. Эхо-сервер в блокирующем режиме 449 20.2. Клиент для эхо-сервера 453 20.3. Асинхронный однопоточный эхо-сервер 456 20.4. Многопоточный эхо-сервер 460 20.5. Работа с протоколом FTP 466 20.6. Отправка электронной почты по протоколу SMTP 467 20.7. Использование модуля WebKit: простой Web-браузер 475 Глава 21. Использование модуля QtScript 479 Глава 22. Технология COM. Интеграция с MS Office. Средства мультимедиа 495 22.1. Импорт и экспорт таблиц MS Excel 495 22.2. Работа со звуком 501 22.3. Анимация 502 22.4. Библиотека Phonon 503 22.5. Воспроизведение видео с помощью Media Player 507 Глава 23. Внешний вид элементов управления 509 23.1. Палитры 509 23.2. Стили 511 Глава 24. Интернационализация приложений 519 24.1. Подготовка исходного текста программы 519 24.2. Подготовка файлов описания проекта и ресурсов 522 24.3. Утилиты lupdate и lrelease 526 24.4. Программа Qt Linguist 526 24.5. Переключение языка во время выполнения программы 528 Глава 25. Использование интерпретатора Python 531 25.1. Зачем это нужно 531 25.2. Основные сведения о языке Python 531 25.3. Встраивание интерпретатора Python в приложения, написанные на C/C++ 534 25.4. Библиотека PythonQt 545 25.5. Библиотека PyQt4 547 Глава 26. Создание библиотек и плагинов для Qt Designer 549 26.1. Создание библиотеки 549 26.2. Статическая компоновка 551 26.3. Динамическая загрузка 553 26.4. Расширение библиотеки виджетов Qt Designer 555 Глава 27. Сравнение библиотеки Qt с другими средствами межплатформенной разработки 565 27.1. Qt и Java 565 27.2. Qt и .NET 566 27.3. Qt и wxWidgets 567 Глава 28. Разное 573 28.1. Борьба с "зависанием" интерфейса пользователя 573 28.2. Перемещение виджетов с помощью мыши 573 28.3. Заголовок окна 575 28.4. Область прокрутки 582 28.5. Сведения о текущей платформе 582 28.6. Бегущая строка 585 28.7. Работа с переменными окружения 587 28.8. Типы MIME 588 28.9. Буфер обмена 589 28.10. Перетаскивание файлов в окно текстового редактора 591 Заключение 595 Приложение. Описание содержимого компакт-диска 597 Список литературы 603
Карманный справочник Linux - это одновременно и краткий справочник для опытных пользователей, и руководство для новичков.
Книга предваряется общими сведениями об операционной системе и способах работы в ней. В ней рассматриваются такие основные понятия, как: файлы и директории, командный процессор shell, система X Window.
В книге Администрирование GNU/Linux с нуля. 2-е изд. Береснев (+ Дистрибутив CD) Представлен необходимый набор знаний в области администрирования GNU/Linux. Материал не сконцентрирован на каком-либо конкретном дистрибутиве GNU/Linux, а рассмотрены