Каталог статей

Главная » Статьи » Мои статьи

Пишем собственный веб броузер

В среду Qt 4.4 был включен модуль QtWebKit. Благодаря этому добавить функциональность Веб-браузера в ваше Qt приложение стало очень просто. Модуль QtWebKit основан на движке с открытым исходным кодом WebKit, поддерживающим HTML, XHTML, CSS, формат векторной графики SVG, JavaScript.
Для использования классов модуля QtWebKit необходимо добавить следующую строку в файл проекта:

QT += webkit

Эта строчка необходима, т.к. по умолчанию модуль QtWebKit (в отличие от модулей QtCore и QtGui) в процесс сборки не включен.
Для загрузки и отображения веб-сайтов воспользуемся объектом класса QWebView:
view = new QWebView(this);

Для загрузки сайта используем метод QWebView::load(const QUrl & url):
void browser::load()
{
QString name("http://" + adress->text());
view->load(QUrl(name));
}

Добавим несколько кнопок для навигации и свяжем их с объектом класса QWebView:
fileToolBar = addToolBar(tr("File"));
adress = new QLineEdit(fileToolBar);
fileToolBar->addWidget(adress);
backward = new QPushButton(tr("Backward"), fileToolBar);
fileToolBar->addWidget(backward);
forward = new QPushButton(tr("Forward"), fileToolBar);
fileToolBar->addWidget(forward);
reload = new QPushButton(tr("Reload"), fileToolBar);
fileToolBar->addWidget(reload);
stop = new QPushButton(tr("Stop"), fileToolBar);
fileToolBar->addWidget(stop);
...
connect(backward,SIGNAL(clicked()),view,SLOT(backward()));
connect(forward,SIGNAL(clicked()),view,SLOT(forward()));
connect(reload,SIGNAL(clicked()),view,SLOT(reload()));
connect(stop,SIGNAL(clicked()),view,SLOT(stop()));

И наконец добавим индикатор прогресса выполения для отображения степени загрузки страницы:
progress = new QProgressBar(fileToolBar);
fileToolBar->addWidget(progress);
connect(view,SIGNAL(loadProgressChanged(int)),progress,SLOT(setValue(int)));


Источник: http://www.qtinfo.ru/simplewebbrowser
Категория: Мои статьи | Добавил: qt-boy (09.08.2010)
Просмотров: 2142 | Комментарии: 2 | Теги: Пишем собственный веб броузер | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
3D Облако
Мини-чат
Категории раздела
Мои статьи [19]
Облако
About Qt QList Qtractor 0.4.2 QListView Сравнение MFC и Qt git-репозиторий Qt Жасмин Бланшет QFileDialog Qt Solutions Qt Extended Динамическое приведение QObject библиотеки Qt 4.5.1 Пишем собственный веб броузер QMessageBox Сохранение отзывчивости графическог Вышли бета-версии библиотеки Qt 4.7 QT Указание кодировки строк в исходном qtcreator qt sdk qt quick QInputDialog Стандартные алгоритмы для работы с QColorDialog Примеры использования класса QEvent QFontDialog Анимация в QLabel Открытие ссылки в браузере установл Добавление итемов в QTableWidget Помещаем окно посередине экрана Выставляем флаги для окон Отловить нажатие клавиши на QLabel Определить какой именно контрол был Показать на время курсор с песочным Сделать окно модальным Зашифровать данные в MD5 или MD4 Удаление из QlistWidget строки Диалог открытия файла работа с реестром Ограничение на ввод определенного к QMessageBox подтверждение удаления Многопоточный сервер на примере Чат Текстовый кодек Отправляем файл на PHP скрипт Алгоритм сортировки (не очень оптим но если не важна скорость то сойдет Вставка текста из буфера обмена(при Удаление повторяющихся элементов в Проверить существует ли файл Распечатка текста из QTextEdit Вывести текст из QTextEdit в диалог Интересное о QFileInfo Отловить событие закрытие окна Устанавливаем иконку для окна Проверка веб ссылки на валидность Функция центрирования окна по серед Функция проверки обновления для про Иконка для QPushButton Преобразовать QString в char* Выдрать IP и порт из строки Получение списка всех файлов в дире Окно поверх всех Ввод пароля в QLineEdit Ввод в QLineEdit только цифр и точк Сортировка QListWidget Скачать файл по Ftp Пример использования оператора fore Пример использования класса QDir Получить список папок Кодирование/Декодирвоание Base64 Получить переменные среды Оставить у диалога только кнопку за Запуск сторонней программы из Qt ис Сохранение настроек приложения в ре Экран заставка SplashScreen Drop Добавление эффекта выделяющего прям Получение информации о свободном пр Получение информации о свободном ди Простой пример использования QProce Как унаследоваться от QObject Отрисовать виджет по форме картинки Перемещение виджета вслед за мышкой Повернуть изображение Установка кодеков(русский текст) дл QSignalMapper - как пользоваться Qt приведение типа QFileSystemWatcher следим за директ Удаление директории с поддиректория Рекурсивный поиск файлов и папок Отловить завершение работы системы Центрирование виджета посередине ро styleSheet QLabel красим текст под styleSheet QLabel простой пример styleSheet QTableWidget красим QTab QTableWidgetItem текст по центу Проверка сокета Выход из вложенных циклов styleSheet QPushButton выравнивание Сортировка QTableWidget по дате
Наш опрос
Оцените мой сайт
Всего ответов: 93
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0