Жасмин Бланшет - QT 4 - программирование GUI на С++

Здесь есть возможность читать онлайн «Жасмин Бланшет - QT 4 - программирование GUI на С++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: КУДИЦ-ПРЕСС, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

QT 4: программирование GUI на С++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «QT 4: программирование GUI на С++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Единственное официальное руководстро по практическому программированию в среде Qt 4.1. Применяя средства разработки Qt компании «Trolltech», вы сможете создавать на С++ промышленные приложения, которые естественно работают в средах Windows, Linux/UNIX, Linux для встроенных систем без изменения программного кода и Mac Os X. Книга написана сотрудниками компании «Trolltech». Она представляет собой практическое руководство по успешному применению самой мощной из всех созданных до сих пор версий Qt — Qt 4.1.
Из книги «Qt 4: программирование GUI на С++» вы узнаете о наиболее эффективных приемах и методах программирования с применением Qt 4 и овладеете ключевыми технологиями в самых различных областях — от архитектуры Qt модель/представление до мощного графического процессора 2D. Авторы вооружают читателей беспрецедентно глубокими знаниями модели событий и системы компоновки Qt.
На реалистических примерах они описывают высокоэффективные методы во всех областях — от разработки основных элементов графического пользовательского интерфейса до передовых методов интеграции с базой данных и XML. Каждая глава содержит полностью обновленный материал.
Данное издание:
• Включает новые главы по архитектуре Qt 4 модель/представление и поддержке подключаемых модулей Qt, а также краткое введение в программирование встроенных систем на платформе Qtopia.
• Раскрывает все основные принципы программирования в среде Qt — от создания диалоговых и других окон до реализации функциональности приложений.
• Знакомит с передовыми методами управления компоновкой виджетов и обработкой событий.
• Показывает, как можно с наибольшей эффективностью использовать новые программные интерфейсы Qt 4, в частности мощный графический процессор 2D и новые простые в применении классы—контейнеры.
• Представляет передовые методы Qt 4, которых нет ни в одной книге: от создания подключаемых модулей, расширяющих возможности Qt, и приложений, до применения «родных» для конкретной платформы программных интерфейсов.
• Содержит приложение с подробным введением в программирование на С++ в среде Qt для опытных Java—разработчиков.
Жасмин Бланшет (Jasmine Blanchette) — менеджер по документированию и старший разработчик компании «Trolltech» с 2001 года. Он является редактором «Qt Quarterly», информационного бюллетеня компании «Trolltech», и соавтором книги «Qt 3: программирование GUI на С++».
Марк Саммерфилд (Mark Summerfield) — независимый преподаватель и консультант по С++, Qt и Python. Он работал менеджером по документированию в компании «Trolltech» на протяжении трех лет. Марк является соавтором книги «Qt 3: программирование GUI на С++».

QT 4: программирование GUI на С++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «QT 4: программирование GUI на С++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

06 } else {

07 return E_NOINTERFACE;

08 }

09 AddRef();

10 return S_OK;

11 }

Функция queryInterface() — чистая виртуальная функция класса QAxAggregated. Она вызывается управляющим объектом СОМ для предоставления доступа к интерфейсу, который обеспечивается подклассом QAxAggregated. Мы должны возвращать E_NOINTERFACE для интерфейсов, которые мы не определили, и также для IUnknown.

01 HRESULT WINAPI ObjectSafetyImpl::GetInterfaceSafetyOptions(

02 REFIID /* riid */, DWORD *pdwSupportedOptions,

03 DWORD *pdwEnabledOptions)

04 {

05 *pdwSupportedOptions =

06 INTERFACESAFE_FOR_UNTRUSTED_DATA

07 | INTERFACESAFE_FOR_UNTRUSTED_CALLER;

08 *pdwEnabledOptions = *pdwSupportedOptions;

09 return S_OK;

10 }

11 HRESULT WINAPI ObjectSafetyImpl::SetInterfaceSafetyOptions(

12 REFIID /* riid */, DWORD /* pdwSupportedOptions */,

13 DWORD /* pdwEnabledOptions */)

14 {

15 return S_OK;

16 }

Функции GetInterfaceSafetyOptions() и SetInterfaceSafetyOptions() объявляются в IObjectSafety. Мы реализуем их, чтобы уведомить всех о том, что наш объект безопасен для использования в сценариях.

Давайте теперь рассмотрим main.cpp:

01 #include

02 #include "axbouncer.h"

03 QAXFACTORY_DEFAULT(AxBouncer,

04 "{5e2461aa-a3e8-4f7a-8b04-307459a4c08c}",

05 "{533af11f-4899-43de-8b7f-2ddf588d1015}",

06 "{772c14a5-a840-4023-b79d-19549ece0cd9}",

07 "{dbce1e56-70dd-4f74-85e0-95c65d86254d}",

08 "{3f3db5e0-78ff-4e35-8a5d-3d3b96c83e09}")

Макрос QAXFACTORY_DEFAULT() экспортирует элемент управления ActiveX. Мы можем использовать его для серверов ActiveX, которые экспортируют только один элемент управления. В следующем примере данного раздела будет показано, как можно экспортировать много элементов управления ActiveX.

Первым аргументом макроса QAXFACTORY_DEFAULT() является имя экспортируемого класса Qt. Такое же имя используется для экспорта элемента управления. Остальные пять аргументов следующие: идентификатор класса, идентификатор интерфейса, идентификатор интерфейса событий, идентификатор библиотеки типов и идентификатор приложения. Мы можем использовать стандартные инструментальные средства, например guidgen или uuidgen, для получения этих идентификаторов. Поскольку сервер реализован в виде библиотеки, нам не требуется иметь функцию main().

Ниже приводится файл .pro для внутрипроцессного сервера ActiveX:

TEMPLATE = lib

CONFIG += dll qaxserver

HEADERS = axbouncer.h \

objectsafetyimpl.h

SOURCES = axbouncer.cpp \

main.cpp \

objectsafetyimpl.cpp

RC_FILE = qaxserver.rc

DEF_FILE = qaxserver.def

Файлы qaxserver.rc и qaxserver.def, на которые имеются ссылки в файле .pro, —стандартные файлы, которые можно скопировать из каталога Qt src\activeqt\control.

Файл makefile или сгенерированный утилитой qmake файл проекта Visual С++ содержат правила для регистрации сервера в реестре Windows. Для регистрации сервера на машине пользователя мы можем использовать утилиту regsvr32, которая имеется во всех системах Windows.

Мы можем затем включить компонент Bouncer в страницу HTML, используя тег :

classid="clsid:5e2461aa-a3e8-4f7a-8b04-307459a4c08c">

The ActiveX control is not available. Make sure you

have built and registered the component server.

Мы можем создать кнопку для вызова слотов:

Мы можем манипулировать виджетом при помощи языков JavaScript или VBScript точно так же, как и любым другим элементом управления ActiveX (см. расположенный на компакт-диске файл demo.html, содержащий очень простую страницу, в которой используется сервер ActiveX.

Наш последний пример — приложение Address Book (адресная книга), применяющее сценарий. Это приложение может рассматриваться в качестве стандартного приложения Qt для Windows или внепроцессного сервера ActiveX. В последнем случае мы можем создавать сценарий работы приложения, используя, например, Visual Basic.

01 class AddressBook : public QMainWindow

02 {

03 Q_OBJECT

04 Q_PROPERTY(int count READ count)

05 Q_CLASSINFO("ClassID",

06 "{588141ef-110d-4beb-95ab-ee6a478b576d}")

07 Q_CLASSINFO("InterfaceID",

08 "{718780ec-b30c-4d88-83b3-79b3d9e78502}")

09 Q_CLASSINFO("ToSuperClass", "AddressBook")

10 public:

11 AddressBook(QWidget *parent = 0);

12 ~AddressBook();

13 int count() const;

14 public slots:

15 ABItem *createEntry(const QString &contact);

16 ABItem *findEntry(const QString &contact) const;

17 ABItem *entryAt(int index) const;

18 private slots:

19 void addEntry();

20 void editEntry();

21 void deleteEntry();

22 private:

23 void createActions();

24 void createMenus();

25 QTreeWidget *treeWidget;

26 QMenu *fileMenu;

27 QMenu *editMenu;

28 QAction *exitAction;

29 QAction *addEntryAction;

30 QAction *editEntryAction;

31 QAction *deleteEntryAction;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «QT 4: программирование GUI на С++»

Представляем Вашему вниманию похожие книги на «QT 4: программирование GUI на С++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Бертрис Смолл - Дикарка Жасмин
Бертрис Смолл
Георгий Семенов - Жасмин в тени забора
Георгий Семенов
Жасмин Гиллори - Свадебное свидание
Жасмин Гиллори
Жасмин Майер - Онлайн
Жасмин Майер
Отзывы о книге «QT 4: программирование GUI на С++»

Обсуждение, отзывы о книге «QT 4: программирование GUI на С++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x