Простой Web-браузер
Simple Web browser/main.cpp
Simple Web browser/browser.h
Simple Web browser/browser.cpp
В среду 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)));
page revision: 22, last edited: 22 Mar 2009 08:40