WebKit в QtМодуль QtWebKit предоставляет механизм веб-браузера, а также классы для визуализации и взаимодействия с веб-контентом. Далее... Классы
Подробное описаниеQtWebKit предоставляет механизм веб-браузера, который делает легким встраивание контента из всемирной паутины в ваше приложение Qt. Одновременно веб-контент может быть расширен с помощью элементов управления, присущих данной системе. QtWebKit предоставляет возможности визуализации документов HyperText Markup Language (HTML), Extensible HyperText Markup Language (XHTML) и масштабируемой векторной графики (Scalable Vector Graphics, SVG), применять стили с использованием каскадных таблиц стилей (Cascading Style Sheets, CSS) и расширять сценариями с помощью JavaScript. Мост между средой выполнения JavaScript и объектной моделью Qt делает возможным расширение сценариями и для пользовательских объектов QObjects. Подробное описание смотрите в Мост QtWebkit. Интеграция с модулем работы с сетью Qt делает возможным прозрачную загрузку веб-страниц с веб-серверов, из локальной файловой системы или даже из системы ресурсов Qt. Кроме того предоставляя чистые средства визуализации можно сделать документы HTML полностью редактируемыми пользователями посредством использования атрибута contenteditable элементов HTML. QtWebKit основан на механизме с открытыми исходными кодами WebKit. Найти дополнительную информацию о самом WebKit можно на веб-сайте Проекта с открытыми исходными кодами WebKit. Включение в ваше проектДля включения определений классов этого модуля используйте следующую директиву: #include <QtWebKit> Для линковки приложения с этим модулем, добавьте в ваш qmake файл проекта .pro: QT += webkit ЗамечанияЗамечание: Сборка модуля QtWebKit с отладочными символами является проблематичным на многих платформах из-за размера движка WebKit. Мы рекомендуем собирать модуль для встраиваемых платформ только в режиме релиза. В настоящее время при использовании gcc QtWebKit всегда компилируется с отладочными символами. Изучите последние строки src/3rdparty/webkit/WebCore/WebCore.pro, если вам нужно это изменить. Замечание: Пиктограммы сайтов, известные также как "FavIcons", в настоящее время не поддерживаются под Windows. Мы планируем вернуться к этому в следующих выпусках. Замечание: WebKit имеет некоторые минимальные требования, которые должны выполняться на встраиваемых Linux-системах. Для получения дополнительной информации обратитесь к документу Требования Qt для встраиваемых Linux-систем. АрхитектураСамый лёгкий способ визуализировать контент - через класс QWebView. Как виджет он может быть встроен в ваши формы или графическое представление, и он предоставляет вспомогательные функции для скачивания и визуализации веб-сайтов. QWebView *view = new QWebView(parent); view->load(QUrl("http://qt.nokia.com/")); view->show(); QWebView используется для просмотра веб-страниц. Экземпляр класса QWebView содержит один объект QWebPage. QWebPage предоставляет доступ к структуре документа страницы, описывая возможности, такие как фреймы, история перемещения и стек отмены/повтора команд для редактируемого контента. Документы HTML могут вложены друг в друга с использованием фреймов в наборе фреймов. Отдельный фрейм в HTML представляется используя класс QWebFrame. Этот класс содержит мост к объекту окна JavaScript и может быть отрисован с использованием QPainter. Каждая QWebPage имеет один объект QWebFrame в качестве главного фрейма, а главный фрейм может содержать множество дочерних фреймов. Отдельные элементы документа HTML могут быть доступны через интерфейсы DOM JavaScript изнутри веб-страницы. Эквивалентом этого API в QtWebKit является представление QWebElement. Объекты QWebElement получают используя функции QWebFrame'а findAllElements() и findFirstElement() с запросами селектора CSS. Общепринятые возможности браузера, настройки по умолчанию и другие настройки можно конфигурировать посредством класса QWebSettings. Можно предоставить умолчания для всех экземпляров класса QWebPage посредством настроек по умолчанию. Отдельные атрибуты могут быть перегружены объектом настроек индивидуальным страницы. Поддержка подключаемого модуля NetscapeЗамечание: Поддержка подключаемого модуля Netscape доступна только на настольных платформах. Так как WebKit поддерживает API подключаемого модуля, приложения Qt могут выводить на экран веб-страницы, в которые внедрены распространённые подключаемые модули. Чтобы включить поддержку подключаемого модуля у пользователя должны быть установлены соответствующие двоичные файлы этих подключаемых модулей, а для приложения должен быть включён атрибут QWebSettings::PluginsEnabled. Поиск подключаемых модулей будет вестись в следующих местах:
Информация о лицензииЭто срез порта WebKit для Qt. Точную информацию о версии можно найти в файле src/3rdparty/webkit/VERSION, поставляемом вместе с Qt. Держатели лицензии коммерческого выпуска Qt, которые хотят распространять приложения, использующие модуль QtWebKit, должны быть осведомлены об их обязательствах по GNU Library General Public License (LGPL). Разработчики, использующие Выпуск Open Source, могут выбрать повторное распространение модуля под соответствующей версией GNU LGPL. WebKit is licensed under the GNU Library General Public License. Individual contributor names and copyright dates can be found inline in the code. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |