Описание компакт-дискак книге Макса Шлее"Qt4. Профессиональное программиро-вание на C++"На компакт-диске (далее CD), прилагаемом к данной книге, находится библиотека Qt и исходные тексты примеров, описанных в книге. Если вы пользователь ОС Windows, то вам удобнее будет воспользоваться программой установки книги (рис. 1), которая запускается автоматически при установке CD. Эта программа написана на Qt4 и ее исходный код также находится на диске. Рис. 1. Установочная программа книгиДанная программа содержит следующие кнопки: Установить примеры — запускает самораспаковывающийся архив примеров. Вам нужно указать путь для распаковки; Установить C++ (MinGW) — запускает программу установки MinGW (Minimalist GNU for Windows, минимальный GNU для Windows). MinGW пред-ставляет собой коллекцию свободно распространяемых библиотек с компилято-ром C++, позволяющих создавать приложения Windows; Установить Qt4 — запускает программу мастера установки библиотеки Qt4, описанную в гл. 3, предназначенную для использования с MinGW; Установить отладчик (GDB) — запускает программу установщика GNU-Debugger. Работа с этим отладчиком описана в гл. 3; Установить среду разработки — запускает программу установки QDevelop IDE (Integrated Developement Environment, интегрированная среда разработки). После установки при первом запуске этой программы нужно будет указать в диалоговом окне местонахождение программ make и gdb. Обычно они находятся в каталоге MinGW/bin; Просмотр CD — открывает Проводник ОС Windows в корневой директории компакт-диска; Сетевая поддержка — запускает браузер с адресом страницы, на которой будут доступны дополнения и исправления к книге; Закрыть — закрывает окно программы.Если на вашем компьютере не установлено ничего из вышеописанного, то установку лучше всего производить последовательно, в очередности, определенной кнопками (сверху вниз).Исходные коды примеров книги сгруппированы в отдельные каталоги, соответст-вующие главам. Каждый из примеров хранится в отдельном каталоге. Для их компи-ляции следует создать make-файл с помощью программы QMAKE и запустить утилиту MAKE. В табл. 1 приведено описание CD.Таблица 1. Содержимое компакт-дискаПапки Описание/Autorun/src Исходный код программы установки книги/Install/Mac Программа установки Qt4 для ОС MacOS X/Install/Windows Программа установки Qt4 для ОС Windows, а также компи-лятора C++ и программного отладчика/Install/X11 Программа установки Qt4 для ОС Unix/Linux/Tools/DoxyGen Утилита создания документации на основе исходного текста программ/Tools/IDE/MonkeyStudio IDE для работы с Qt4/Tools/IDE/QDevelop IDE для работы с Qt4/Tools/ident-2.2.9.exe Утилита для форматирования исходного текста программ/Tools/KDiff3Setup_0.9.90.exe Утилита для сравнения исходных текстов/Tools/qtopia-2.2-live-demo.iso Образ компакт-диска с демонстрацией Qtopia. Запишите его на компакт-диск и используйте его как загрузочный. Или загрузите его в одну из виртуальных машин, например: VMWare, VirtualPC, Parallels и др./Tools/chapter01 Пример Hello (гл. 1). Программа, отображающая надпись "Hello, World"/Tools/chapter02 Пример Counter (гл. 2). Приложение, демонстрирующее ме-ханизм сигналов и слотов/Tools/chapter05 Примеры для гл. 5. Background — приложение, демонстрирующее установку фона виджета. MouseCursor — приложение, демонстрирующее смену указа-теля мыши. ScrollArea — приложение, демонстрирующее виджет видовой прокрутки/Tools/chapter06 Примеры для гл. 6. AddStretch — приложение, где вместо одной из кнопок про-изводится добавление фактора растяжения. Calculator — приложение калькулятора, демонстрирующее табличное лейаут-размещение HBoxLayout — приложение, демонстрирующее использование лейаута горизонтального размещения. Layout — приложение, демонстрирующее использование горизонтального и вертикального лейаутов.Splitter — приложение, демонстрирующее виджет разделителя. Stretch — приложение, демонстрирующее возможность ис-пользования фактора растяжения. VBoxLayout — приложение, демонстрирующее использование вертикального лейаута/Tools/chapter07 Примеры для гл. 7. Label — приложение, демонстрирующее виджет надписи.LabelBuddy — приложение, демонстрирующее возможность ассоциации виджета надписи с другими виджетами. LabelPixmap — приложение, демонстрирующее использование в виджете надписи, растровых изображений. LCD — приложение, демонстрирующее виджет электронного индикатора. Progress — приложение, демонстрирующее работу виджета индикатора прогресса/Tools/chapter08 Примеры для гл. 8. ButtonGroup — приложение, демонстрирующее возможность группировки кнопок. ButtonPopup — приложение, демонстрирующее кнопку со всплывающим меню. Buttons — приложение, демонстрирующее различные кнопки нажатия. CheckBox — приложение, демонстрирующее кнопки- флажки. RadioButton — приложение, демонстрирующее виджет кнопок переключателей/Tools/chapter09 Примеры для гл. 9. Dial — приложение, демонстрирующее виджет установщика. ScrollBar — приложение, демонстрирующее виджет полосы прокрутки. Slider — приложение, демонстрирующее виджет ползунка/Tools/chapter10 Примеры для гл. 10. DateTimeEdit — приложение, демонстрирующее виджеты отображения даты и времени. LineEdit — приложение, демонстрирующее виджет одно-строчного текстового поля. SpinBox — приложение, демонстрирующее виджет счетчика. TextEdit — приложение, демонстрирующее виджет много-строчного текстового поля. Validator — приложение, демонстрирующее проверку поль-зовательского ввода/Tools/chapter11 Примеры для гл. 11. ComboBox — приложение, демонстрирующее виджет выпа-дающего списка. IconMode — приложение, демонстрирующее режим показа иконок. ListWidget — приложение, демонстрирующее виджет простого списка. TableWidget — приложение, демонстрирующее виджет таб-лицы. TabWidget — приложение, демонстрирующее виджет закла-док. ToolBox — приложение, демонстрирующее виджет инстру-ментов. TreeWidget — приложение, демонстрирующее виджет иерар-хического списка/Tools/chapter12 Примеры для гл. 12. DirModel — приложение, демонстрирующие использование готовой модели QDirModel. Explorer — приложение реализации Проводника на базе ис-пользования модели QDirModel. HierarchicalModel — приложение, использующее модель QStandartItemModel для создания иерархии.IntListModel — реализация собственной модели данных для списка целых чисел. ProxyModel — использование промежуточной модели для осуществления отбора данных. Roles — демонстрация использования ролей для отображения данных. SelectionSharing — демонстрация разделения выделений эле-ментов между представлениями. SimpleDelegate — реализация делегата, производящего выде-ление элементов при попадании на них указателя мыши. TableModel — реализация табличной модели.WidgetAndView — использование моделей элементно-базированных классов/Tools/chapter13 Пример для гл. 13. WidgetPalette, демонстрирующий измене-ние палитры виджета/Tools/chapter14 Примеры для гл. 14. MouseEvent — приложение, демонстрирующее обработку событий мыши. ResizeEvent — приложение, демонстрирующее обработку события изменения размеров/Tools/chapter15 Пример гл. 15 — EventFilter, демонстрирующий механизм фильтрации событий/Tools/chapter16 Примеры для гл. 16. EventChange — приложение, демонстрирующее подмену событий. EventSimulation — приложение, демонстрирующее искусст-венное создание событий/Tools/chapter18 Примеры для гл. 18. CompositionModes — демонстрация режимов совмещения пикселов. ConicalGradient — отображение конического градиента.LinearGradien — отображение линейного градиента. PainterPath — пример отображения графической траектории. RadialGradient — отображение лучевого градиента/Tools/chapter19 Примеры для гл. 19. ImageDraw — рисование в контексте растрового изображения (QImage) с его последующим отображением. Window — приложение, демонстрирующее применение про-зрачности к виджету верхнего уровня/Tools/chapter20 Примеры для гл. 20.DrawText — отображение текстовой строки. GradienText — отображение текстовой строки заполненной градиентом/Tools/chapter21 Примеры для гл. 21. CustomGraphicsView — отображение элементов с изменяемым местоположением. CustomGraphicsView — демонстрация реализации собствен-ного класса представления, собственного класса элемента с возможностью обработки событий и группировки/Tools/chapter22 Пример гл. 22 Movie, демонстрирующий использование ани-мации/Tools/chapter23 Примеры для гл. 23. OGLDraw — приложение, демонстрирующее эффект сглажи-вания цветов вершин четырехугольника. OGLPyramid — приложение вращения пирамиды, демонст-рирующее трехмерную графику OpenGL. OGLQuad — приложение, демонстрирующее вывод графиче-ских примитивов OpenGL/Tools/chapter24 Пример гл. 24 Printer, демонстрирующий вывод на печать./Tools/chapter25 Пример гл. 25 CustomWidget, демонстрирующий создание и использование собственных виджетов/Tools/chapter26 Примеры для гл. 26. AppStyle — приложение, демонстрирующее использование различных стилей. CSSStyle — приложение, демонстрирующие использование каскадного стиля.CustomStyle — приложение, иллюстрирующее создание и использование своих собственных стилей. Styles — приложение, демонстрирующее стили, интегриро-ванные в Qt/Tools/chapter27 Пример гл. 27 SoundPlayer, демонстрирующий возможности воспроизведения звука./Tools/chapter28 Примеры гл. 28. Session — приложение управления сеансом.Settings — приложение, сохраняющее свои настройки/Tools/chapter29 Примеры гл. 29. Drag — приложение, реализующее сторону источника для перетаскивания. Drop — приложение, реализующее принимающую сторону для перетаскивания/Tools/chapter31 Примеры для гл. 31. ContextMenu — приложение, демонстрирующее применение контекстного меню. Menu — приложение, иллюстрирующее использование меню. TearOffMenu — приложение, демонстрирующее отрывное меню/Tools/chapter32 Примеры гл. 32. InputDialog — приложение, демонстрирующее реализацию собственного окна диалога. MessageBoxes — демонстрация окон сообщений. StandardDialogs — демонстрация стандартных диалоговых окон/Tools/chapter33 Примеры для гл. 33. HelpBrowser — приложение, предоставляющее систему по-мощи. WhatsThis — приложение, демонстрирующее предоставление What’s This помощи/Tools/chapter34 Примеры для гл. 34. StatusBar — приложение со строкой состояния. ToolBar — приложение, демонстрирующее использование панелей инструментов/Tools/chapter35 Примеры гл. 35. MDI (MDI-приложение), SDI (SDI-приложение) и SplashScreen — приложение, отображающее предшествующее окно/Tools/chapter36 Пример гл. 36 — FileFinder, приложение для поиска файлов, демонстрирующее использование класса QDir/Tools/chapter37 Примеры гл. 37. BlinkLabel — приложение, демонстрирующее работу таймера. Clock — приложение электронных часов, демонстрирующее работу таймера и классов даты и времени/Tools/chapter38 Примеры для гл. 38. Process — приложение, демонстрирующее создание процессов.ThreadEvent — демонстрация отправки событий из потока.ThreadSignal — демонстрация высылки сигналов из потока.ThreadTimer — демонстрация использования сигнально-слотовых соединений в потоках/Tools/chapter39 Примеры гл. 39. Client и Server — приложения, демонстри-рующие возможности классов QTcpServer и QTcpSocket/Tools/chapter40 Примеры гл. 40. XmlDOMRead — приложение, демонстрирующее чтение XML-документа при помощи DOM.XmlDOMWrite — приложение, демонстрирующее создание XML-документа при помощи DOM.XmlSAXRead — приложение, демонстрирующее чтение XML-документа при помощи SAX/Tools/chapter41 Примеры для гл. 41. SQL — приложение, осуществляющее чтение и запись в базу данных. SQLQueryModel — демонстрация проведения отбора данных. SQLTableModel — использование класса модели QSqlTableModel/Tools/chapter42 Примеры гл. 42.DynLib — демонстрация создания и загрузки динамических библиотек.PlugIn — демонстрация создания и загрузки расширений/Tools/chapter43 Пример гл. 43, демонстрирующий использование платформо-зависимых функций Windows/Tools/chapter44 Пример гл. 44 — MyForm, приложение, созданное с помощью Qt Designer/Tools/chapter45 Примеры гл. 45. DataDrivenTest — проведение теста с передачей данных.GuiTest — тест графического интерфейса.TestLib — программа проведения теста/Tools/chapter46 Qt3FileFinder, пример гл. 46. Демонстрирует проведение пе-ревода Qt3-программы на Qt4