Читаем QT 4: программирование GUI на С++ полностью

Задолго до того, как инструментарий Qt стал столь популярным и столь широко используемым, нацеленность разработчиков Qt на поиск правильных решений сделала Qt особой. Верность этому принципу столь же сильна сегодня, и она относится к каждому, кто разрабатывает и сопровождает Qt. Для нас работа над проектом Qt является одновременно и ответственным делом, и привилегией. Мы испытываем гордость оттого, что помогаем вам стать профессионалами и что работа с системами с открытым исходным кодом становится более простой и доставляет больше удовольствия.

Maттиac Эттрич (Matthias Ettrich)

Осло, Норвегия

Июнь, 2006г.

Предисловие

Qt представляет собой комплексную рабочую среду, предназначенную для разработки на С++ межплатформенных приложений с графическим пользовательским интерфейсом по принципу «написал программу — компилируй ее в любом месте». Qt позволяет программистам использовать дерево классов с одним источником в приложениях, которые будут работать в системах от Windows 95 до XP, Mac OS X, Linux, Solaris, HP-UX и во многих других версиях Unix с X11. Библиотеки и утилиты Qt входят также в состав Qtopia Core — программного продукта, обеспечивающего собственную оконную систему для Embedded Linux.

Цель этой книги — обучение вас способам написания программ с графическим пользовательским интерфейсом при помощи средств разработки Qt 4. Книга начинается с примера «Здравствуй, Qt» и быстро переходит к таким более сложным темам, как создание пользовательских виджетов и обеспечение технологии «drag-and-drop». Текст дополняется компакт-диском, который содержит исходный код программ—примеров. Компакт-диск также содержит версию Qt 4.1.1 с открытым исходным кодом для всех поддерживаемых платформ, а также MinGW — набор свободно доступных средств разработки, которые могут использоваться для создания приложений Qt для Windows. В приложении А рассматривается порядок установки программного обеспечения.

Данная книга разделена на три части. В части I раскрыты все принципы и даются практические советы, необходимые для программирования приложений с графическим интерфейсом при помощи средств разработки Qt. Знания материала этой части вполне достаточно для создания работоспособных приложений с графическим интерфейсом. В части II

более глубоко рассматриваются основные темы Qt, и в части III предоставляется более специализированный и передовой материал. Главы частей II и III можно читать в любой последовательности, но они предполагают знакомство с содержанием части I.

Читатели версии этой книги для Qt 3 обнаружат, что новое издание имеет знакомое содержание и знакомый стиль изложения. Данное издание использует новые возможности Qt 4 (причем некоторые из них были введены в версии Qt 4.1), и представленный здесь программный код демонстрирует принципы хорошего программирования с применением средств разработки Qt 4. Во многих случаях здесь используются примеры, аналогичные примерам в издании для Qt 3. Это никак не отразится на новых читателях, но поможет читателям предыдущего издания самостоятельно привыкнуть к более аккуратному, четкому и более выразительному стилю.

Это издание содержит новые главы, в которых описываются архитектура Qt 4 модель/представление, новый фреймворк для подключаемых модулей и основы программирования встроенных систем с помощью Qtopia, а также новое приложение. И так же как в книге для Qt 3, здесь основное внимание уделяется объяснению принципов Qt—программирования, а не просто изложению другими словами и обобщению обширной интерактивной документации Qt.

Предполагается, что вы знакомы с основами программирования на С++, Java или C#. Программный код примеров использует подмножество С++, избегая многие его возможности, которые редко требуются при Qt—программировании. В нескольких местах, где нельзя обойтись без специальных конструкций С++, дается подробное объяснение их применения.

Если у вас уже есть опыт программирования нa Java или C#, но мало или совсем нет опыта программирования на С++, мы рекомендуем начать с приложения к книге, содержащего введение в С++, вполне достаточного для того, чтобы можно было использовать эту книгу. В качестве более полного введения в объектно—ориентированное программирование на С++ мы рекомендуем книгу «С++ How to Program» (Как программировать на С++), написанную Харви и Полом Дейтелем (Harvey Deitel and Paul Deitel), и «С++ Primer» (Язык программирования С++. Вводный курс), написанную Стенли Б. Липпманом (Stanley В. Lippman), Жози Лажойе (Josie Lajoie) и Барбарой E. My (Barbara E. Moo).

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных