Разработка графического интерфейса с помощью библиотеки Qt3

(все в одном html, архив, PDF версия (Адаптация для печати: Марина Коневец))

Авторы: Jasmin Blanchette, Mark Summerfield

Перевод: Андрей Киселёв (kis_an [at] mail.ru)

Оригинальная версия была опубликована издательством "Prentice Hall PTR". Вы сможете найти ее по адресу: http://www.phptr.com/conteimages/0131240722/downloads/blanchette_book.pdf .

Данная книга распространяется на условиях Open Publication License, v1.0 или более поздней. Полный текст лицензии вы найдете по адресу: http://www.opencontent.org/openpub/.

  • "Trolltech" и "Qt" -- зарегистрированные торговые марки компании Trolltech.

  • OpenGL -- торговая марка Silicon Graphics, Inc.

  • Все остальные имена компаний и названия программных продуктов, упомянутые здесь, являются торговыми марками их соответствующих владельцев.



Авторы, держатели авторских прав и издатель приложили немало усилий при подготовке этой книги, но не предоставляют никаких явных или подразумеваемых гарантий любого вида и не принимают на себя ответственность за возможные ошибки или упущения. Сведения, приводимые в этой книге, носят исключительно информационный характер и могут быть изменены без дополнительного уведомления. Ни авторы, ни издатель, ни держатели авторских прав не несут никакой ответственности за непредвиденные убытки, прямо или косвенно связанные с использованием информации или программ, содержащихся здесь.


Содержание
Вступительное слово.
Предисловие
Благодарности.
Краткая история развития Qt.
Часть I. Основы Qt.
1. Начало.
1.1. Hello, Qt!
1.2. Обработка сигналов.
1.3. Работа со справочной системой.
2. Создание диалогов.
2.1. Создание дочернего класса от QDialog.
2.2. Сигналы и слоты.
2.3. Быстрая разработка диалогов.
2.4. Диалоги с изменяющимся внешним видом.
2.5. Динамические диалоги.
2.6. Встроенные виджеты и классы диалогов.
3. Создание главного окна приложения
3.1. Создание класса-наследника от QMainWindow.
3.2. Создание меню и панелей инструментов.
3.3. Реализация меню "File".
3.4. Настройка строки состояния.
3.5. Использование диалогов.
3.6. Сохранение пользовательских настроек приложения.
3.7. Работа с несколькими документами одновременно.
3.8. Экран-заставка.
4. Реализация функциональности приложения.
4.1. Центральный виджет.
4.2. Создание класса-потомка от QTable.
4.3. Загрузка и сохранение.
4.4. Реализация меню Edit.
4.5. Реализация других меню.
4.6. Создание дочернего класса от QTableItem.
5. Создание собственных виджетов.
5.1. Переделка существующих виджетов Qt.
5.2. Создание класса-потомка от QWidget.
5.3. Интеграция виджета в Qt Designer.
5.4. Двойная буферизация.
Часть II. Углубленные сведения
6. Управление размещением виджетов.
6.1. Основы компоновки виджетов.
6.2. Разделители.
6.3. Многостраничные виджеты.
6.4. Области просмотра с прокруткой.
6.5. Стыкуемые окна.
6.6. Многодокументный интерфейс.
7. Обработка событий.
7.1. Обработчики событий.
7.2. Установка фильтров событий.
7.3. Сокращение времени отклика при длительной обработке данных.
8. Двух- и трехмерная графика.
8.1. Рисование средствами QPainter.
8.2. Рисование средствами QCanvas.
8.3. Вывод на печать.
8.4. Графика OpenGL.
9. Drag and Drop.
9.1. Реализация механизма 'drag and drop' в приложениях.
9.2. Поддержка нестандартных типов данных при перетаскивании.
9.3. Расширенные возможности буфера обмена.
10. Ввод/вывод.
10.1. Чтение и запись двоичных данных.
10.2. Чтение и запись текста.
10.3. Работа с файлами и каталогами.
10.4. Взаимодействия между процессами.
11. Контейнерные классы.
11.1. Векторы.
11.2. Списки.
11.3. Словари (map).
11.4. Контейнеры указателей.
11.5. Классы QString и QVariant.
12. Базы данных.
12.1. Установление соединения и выполнение запроса.
12.2. Представление данных в табличной форме.
12.3. Разработка форм, ориентированных на работу с базами данных.
13. Работа с сетью.
13.1. Класс QFtp.
13.2. Класс QHttp.
13.3. Класс QSocket.
13.4. Протокол UDP и класс QSocketDevice.
14. XML
14.1. Чтение XML-документов с помощью SAX.
14.2. Чтение XML-документов с помощью DOM.
14.3. Запись в XML-документы.
15. Интернационализация
15.1. Unicode.
15.2. Разработка приложений, подготовленных к переводу.
15.3. Динамическое переключение языков.
15.4. Перевод существующих приложений.
16. Разработка справочной системы приложения.
16.1. Всплывающие подсказки и справка "What's This?".
16.2. Использование QTextBrowser для отображения текста справки.
16.3. Использование Qt Assistant для отображения текста справки.
17. Многопоточность.
17.1. Потоки.
17.2. Взаимодействие с главным потоком приложения.
17.3. Работа с классами Qt вне главного потока.
18. Платформо-зависимые особенности.
18.1. Взаимодействие с API операционной системы.
18.2. ActiveX.
18.3. Управление сеансами.
19. Об авторах.
19.1. Jasmin Blanchette
19.2. Mark Summerfield