Описание DVD к книге Макса Шлее "Qt4.5. ПРОФЕССИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ НА C++ " На прилагаемом к данной книге DVD помещена библиотека Qt и исходные тексты описанных в книге примеров. Если вы пользователь Windows, то вам удобнее всего будет воспользоваться программой установки книги (рис. 1), которая запускается автоматически при вставке DVD. Эта программа написана на Qt4, и ее исходный код приложен на DVD. Рис. 1. Установочная программа книги Данная программа содержит следующие кнопки: Установить примеры — запускает самораспаковывающийся архив при- меров. Вам нужно указать только путь для их распаковки; Установить Qt SDK — запускает установщик пакета, который содержит: C++ MinGW (Minimalist GNU for Windows, минимальный GNU для Windows). MinGW представляет собой коллекцию свободно распространяемых библиотек с компилятором C++, позволяющих создавать приложения Windows; библиотеку Qt4.5, предназначенную для использования с MinGW; отладчик GNU Debugger (GDB). Работа с этим отладчиком описана в главе 3; среду разработки Qt Creator IDE (Integrated Developement Environment, интегрированная среда разработки). Просмотр DVD — открывает проводник Windows в коренной директории компакт-диска; Сетевая поддержка — производит запуск интернет-браузера с адресом Web-сайта, где будут предоставляться дополнения и исправления к книге; Закрыть — закрывает окно основной установочной программы. Если на вашем компьютере не установлено ничего из вышеуказанного, то установку лучше всего производить в той очередности, в которой расположены кнопки, сверху вниз. Исходные коды примеров книги сгруппированы в отдельные каталоги глав. Каждый из примеров хранится в отдельном каталоге. Для их компиляции следует создать Make-файл при помощи программы QMAKE и запустить утилиту MAKE. В табл. 1 приведено описание DVD. Таблица 1. Содержимое компакт-диска Папка Описание /Autorun/src Исходный код программы эксперта установки компакт-диска /Install/Mac Программа установки Qt SDK для Mac OS X /Install/Windows Программа установки Qt SDK для Windows, а также компилятора C++ и программного отладчика /Install/X11 Программа установки Qt SDK для Unix/Linux 32/64 /Tools/DoxyGen Утилита создания документации из исходного текста программ /Tools/ident-2.2.9.exe Утилита для форматирования исходного текста программ /Tools/KDiff3Setup_0.9.90.exe Утилита для сравнения различий исходных текстов программ /Examples/chapter01 Пример первой главы: /Examples/chapter02 Пример второй главы: /Examples/chapter05 /Examples/chapter06 /Examples/chapter07 Hello — программа, отображающая надпись "Hello, World" Counter — приложение, демонстрирующее механизм сигналов и слотов Примеры пятой главы: Background — демонстрация установки фона виджета; MouseCursor — пример изменения указателя мыши; ScrollArea — иллюстрация виджета видовой прокрутки Примеры шестой главы: AddStretch — приложение, где вместо одной из кнопок производится добавление фактора растяжения; Calculator — калькулятор, демонстрирующий табличную компоновку (QGridLayout); HBoxLayout — приложение, демонстрирующее использование горизонтальной компоновки (QHBoxLayout); Layout — иллюстрация совместного использования горизонтальной и вертикальной компоновок; Splitter — демонстрация виджета разделителя (QSplitter); Stretch — пример использования фактора растяжения; VBoxLayout — приложение, демонстрирующее использование вертикальной компоновки Примеры седьмой главы: Папка /Examples/chapter07 /Examples/chapter08 /Examples/chapter09 /Examples/chapter10 /Examples/chapter11 Описание Label — пример надписи (QLabel); LabelBuddy — демонстрация возможности ассоциации виджета надписи с другими виджетами; использования виджета Примеры седьмой главы: LabelPixmap — иллюстрация использования растровых изображений в виджете надписи; LCD — приложение, демонстрирующее виджет электронного индикатора (QLCDNumber); Progress — демонстрация работы виджета индикатора прогресса (QProgressBar) Примеры восьмой главы: ButtonGroup — иллюстрация группировки кнопок; ButtonPopup — пример кнопки с всплывающим меню; Buttons — демонстрация различных режимов работы кнопки (QPushButton); CheckBox — иллюстрация кнопок-флажков (QCheckBox); RadioButton — демонстрация виджета кнопок переключателей (QRadioButton) Примеры девятой главы: Dial — пример использования виджета установщика (QDial); ScrollBar — демонстрация виджета полосы прокрутки (QScrollBar); Slider — пример использования виджета ползунка (QSlider) Примеры десятой главы: DateTimeEdit — пример работы с виджетами отображения даты и времени (QDateTimeEdit); LineEdit — демонстрация виджета однострочного текстового поля (QLineEdit); SpinBox — иллюстрация использования виджета счетчика (QSpinBox); TextEdit — приложение, использующее виджет многострочного текстового поля (QTextEdit); Validator — приложение, демонстрирующее проверку пользовательского ввода (QValidator) Примеры одиннадцатой главы: ComboBox — демонстрация виджета выпадающего списка (QComboBox); IconMode — иллюстрация режимов показа иконок; ListWidget — пример использования виджета простого списка (QListBox); TableWidget — демонстрация возможностей виджета таблицы (QTableWidget); TabWidget — пример использования виджета закладок (QTabWidget); ToolBox — иллюстрация работы с виджетом инструментов (QToolBox); Папка Описание /Examples/chapter12 /Examples/chapter13 Примеры двенадцатой главы: DirModel — иллюстрация использования готовой модели QDirModel; Explorer — приложение, имитирующее проводник на базе использования модели QDirModel; HierarchicalModel — приложение, использующее модель QStandartItemModel для создания иерархии; IntListModel — реализация собственной модели данных для списка целых чисел; ProxyModel — пример использования промежуточной модели для осуществления отбора данных; Roles — демонстрация использования ролей для отображения данных; SelectionSharing — иллюстрация разделения выделений элементов между представлениями; SimpleDelegate — реализация делегата, производящего выделение элементов при попадании на них указателя мыши; TableModel — реализация табличной модели; WidgetAndView — демонстрация использования моделей элементно-базированных классов Пример тринадцатой главы: /Examples/chapter14 /Examples/chapter15 /Examples/chapter18 /Examples/chapter19 WidgetPalette — демонстрация изменения палитры виджета Примеры четырнадцатой главы: MouseEvent — пример обработки событий мыши; ResizeEvent — иллюстрация обработки события изменения размеров Пример пятнадцатой главы: /Examples/chapter16 TreeWidget — демонстрация возможностей виджета иерархического списка (QTreeWidget) EventFilter — демонстрация механизма фильтрации событий Примеры шестнадцатой главы: EventChange — приложение, демонстрирующее подмену событий; EventSimulation — пример искусственного создания событий Примеры восемнадцатой главы: CompositionModes — демонстрация режимов совмещения пикселов; ConicalGradient — отображение конического градиента; LinearGradient — отображение линейного градиента; PainterPath — пример отображения графической траектории; RadialGradient — отображение лучевого градиента Примеры девятнадцатой главы: ImageDraw — рисование в контексте растрового изображения (QImage) с его последующим Папка Описание отображением; /Examples/chapter20 /Examples/chapter21 /Examples/chapter22 Примеры двадцатой главы: DrawText — отображение текстовой строки; GradientText — отображение текстовой строки, заполненной градиентом Примеры двадцать первой главы: CustomGraphicsView — отображение элементов с изменяемым местоположением; CustomGraphicsView — демонстрация реализации собственного класса представления и собственного класса элемента с возможностью обработки событий и группировки Пример двадцать второй главы: /Examples/chapter23 /Examples/chapter24 OGLDraw — приложение, демонстрирующее эффект сглаживания цветов вершин четырехугольника; OGLPyramid — вращение пирамиды, демонстрирующее трехмерную графику OpenGL; OGLQuad — пример вывода графических примитивов OpenGL Пример двадцать четвертой главы: /Examples/chapter27 CustomWidget — приложение, демонстрирующее создание и использование собственных виджетов Примеры двадцать шестой главы: AppStyle — иллюстрация использования различных стилей; CSSStyle — пример использования каскадных стилей; CustomStyle — приложение, иллюстрирующее создание и использование своих собственных стилей; Styles — демонстрация интегрированных в Qt стилей Пример двадцать седьмой главы: /Examples/chapter28 Printer — программа, выводящая картинку на печать с использованием класса QPrinter Пример двадцать пятой главы: /Examples/chapter26 Movie — программа, отображающая анимацию (QMovie) Примеры двадцать третьей главы: /Examples/chapter25 Window — приложение, демонстрирующее применение прозрачности к виджету верхнего уровня SoundPlayer — демонстрация простых возможностей воспроизведения звука (QSound) Примеры двадцать восьмой главы: MediaPlayer и SimplePlayer — пример, показывающий возможности использования модуля для мультимедиа Phonon /Examples/chapter29 Примеры двадцать девятой главы: Session — пример управления сеансом (QSession); Settings — приложение, сохраняющее свои настройки (QSettings) /Examples/chapter30 Примеры тридцатой главы: Папка Описание Drag — приложение, реализующее сторону источника для перетаскивания; Drop — приложение, реализующее принимающую сторону для перетаскивания /Examples/chapter32 Примеры тридцать второй главы: ContextMenu — иллюстрация применения контекстного меню; Menu — пример встраивания меню в приложение; TearOffMenu — приложение, демонстрирующее отрывное меню /Examples/chapter33 Примеры тридцать третьей главы: InputDialog — приложение, демонстрирующее реализацию собственного окна диалога; MessageBoxes — пример использования окон сообщений; StandardDialogs — демонстрация стандартных диалоговых окон /Examples/chapter34 Примеры тридцать четвертой главы: HelpBrowser — приложение, предоставляющее систему помощи; WhatsThis — приложение, демонстрирующее предоставление подсказок "Что это" /Examples/chapter35 Примеры тридцать пятой главы: /Examples/chapter36 /Examples/chapter37 Примеры тридцать шестой главы: SystemTray — пример использования области оповещений; ScreenShot — демонстрация использования рабочего стола Пример тридцать седьмой главы: /Examples/chapter38 /Examples/chapter39 /Examples/chapter40 StatusBar — приложение со строкой состояния; ToolBar — демонстрация использования панелей инструментов (QToolBar); MDI — пример MDI-приложения (редактора); SDI — простой редактор для одного документа; SplashScreen — приложение, отображающее окно заставки (QSplashScreen) FileFinder — приложение для нахождения файлов, демонстрирующее использование класса QDir Примеры тридцать восьмой главы: BlinkLabel — приложение, демонстрирующее работу таймера (QTimer); Clock — приложение электронных часов, иллюстрирующее использование таймера и классов даты и времени (QDateTime) Примеры тридцать девятой главы: Process — приложение командной оболочки, демонстрирующее создание процессов (QProcess); ThreadEvent — демонстрация отправки событий из потока; ThreadSignal — иллюстрация высылки сигналов из потока; ThreadTimer — пример использования сигнально-слотовых соединений в потоках Примеры сороковой главы: Папка Описание /Examples/chapter41 /Examples/chapter42 /Examples/chapter43 /Examples/chapter44 Примеры сорок первой главы: XmlDOMRead — приложение, читающее XMLдокумент при помощи DOM; XmlDOMWrite — приложение, демонстрирующее создание XML-документа при помощи DOM и его запись; XmlSAXRead — пример чтения XML-документа при помощи SAX Примеры сорок второй главы: SQL — приложение, осуществляющее чтение и запись в базу данных; SQLQueryModel — демонстрация проведения отбора данных; SQLTableModel — использование класса модели QSqlTableModel Примеры сорок третьей главы: DynLib — демонстрация создания и загрузки динамических библиотек; PlugIn — демонстрация создания и загрузки расширений Пример сорок четвертой главы: /Examples/chapter45 /Examples/chapter47 DataDrivenTest — проведение теста с передачей данных; GuiTest — тест графического интерфейса; TestLib — программа проведения теста Примеры сорок седьмой главы: SimpleView и WebBrowser — демонстрация использования модуля WebKit Пример, используемый в сорок девятой главе: /Examples/chapter53 MyForm — приложение, созданное с помощью Qt Designer Примеры сорок шестой главы: /Examples/chapter49 WinAPI — использование платформозависимых функций Windows Пример сорок пятой главы : /Examples/chapter46 Client и Server — приложения, иллюстрирующие возможности классов QTcpServer и QTcpSocket Qt3FileFinder — иллюстрация процедуры перевода Qt3-программы на Qt4 Примеры пятьдесят третьей главы, демонстрирующие использование языка сценария в Qtприложениях, а также и их отладки: Debug — демонстрация возможности применения отладчика для языка сценария Qt Script; SignalAndSlots — иллюстрация возможности использования механизма сигналов слотов в языке сценария Qt Script; Turtle — пример черепашьей графики, управляемой языком сценария Qt Script