×
Namespaces

Variants
Actions

Archived:Navegador web, em Qt

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

Article Metadata

Testado com
SDK: Qt 4.5

Compatibilidade
Plataforma(s): S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
Symbian

Artigo
Palavras-chave: QWebView,QToolBar,QStatusBar
Tradução:
Por valderind4
Última alteração feita por hamishwillee em 11 Oct 2012

Contents

Introdução

Este é um simples navegador web desenvolvido em Qt. Ele suporta apenas o protocolo HTTP, deste modo é possível que você não consiga abrir nenhum tipo de página de login através deste navegador já que estas páginas necessitam de HTTPS.

Aqui a principal classe usada é QWebView. Com a ajuda desta classe você pode mostrar algumas páginas web na sua janela. É deste modo que eu tenho feito e desenvolvido um pequeno navegador web. Neste navegador você pode abrir sites com www.google.com, www.yahoo.com, www.forum.nokia.com, etc.

Compatibilidade

  • Este código é compatível com Qt v4.5, salvo algumas pequenas atualizações de funções.

Recomendações

  • Por favor, inclua QWebkit e QNetwork, durante o desenvolvimento.

Código fonte

#include "webBrowserDialog.h"
 
webBrowserDialog::webBrowserDialog(QWidget *parent)
: QWidget(parent)
{
lay=new QGridLayout();
back=new QPushButton("<<");
back->setToolTip("Back");
bar = new QStatusBar();
bar->resize(50,10);
 
progress=new QProgressBar();
 
progress->setTextVisible(0);
label=new QLabel();
progress->setMinimum(0);
progress->setMaximum(100);
bar->addWidget(progress);
progress->resize(10,10);
forward=new QPushButton(">>");
forward->setToolTip("Forward");
reload=new QPushButton("Reload");
reload->setToolTip("Reload");
stop=new QPushButton("X");
stop->setToolTip("Stop");
web=new QWebView();
 
load=new QPushButton("Load");
load->setToolTip("Load");
line=new QLineEdit("http://www.developer.nokia.com");
line->setToolTip("Type Your Address Here");
tool=new QToolBar();
bar->addWidget(progress);
bar->addWidget(label);
tool->addWidget(back);
tool->addWidget(forward);
tool->addWidget(reload);
tool->addWidget(stop);
tool->addWidget(line);
tool->addWidget(load);
lay->addWidget(tool,0,0);
lay->addWidget(web,1,0);
lay->addWidget(bar,2,0);
web->load(QUrl("http://www.developer.nokia.com"));
web->show();
QObject::connect(back,SIGNAL(clicked()),web,SLOT(back()));
QObject::connect(forward,SIGNAL(clicked()),web,SLOT(forward()));
QObject::connect(stop,SIGNAL(clicked()),web,SLOT(stop()));
QObject::connect(reload,SIGNAL(clicked()),web,SLOT(reload()));
QObject::connect(load,SIGNAL(clicked()),this,SLOT(viral()));
QObject::connect(web,SIGNAL(loadProgress(int)),progress,SLOT(setValue(int)));
setLayout(lay);
showMaximized();
 
}
webBrowserDialog::~webBrowserDialog()
{
 
}
void webBrowserDialog::viral()
{
QString str;
str=line->text();
web->load(QUrl(str));
web->show();
setWindowTitle(str);
QObject::connect(web,SIGNAL(loadProgress(int)),progress,SLOT(setValue(int)));
QObject::connect(web,SIGNAL(statusBarMessage(QString)),bar,SLOT(showMessage(QString)));
}

Cabeçalhos de arquivo

#include <QtGui/QWidget>
#include "ui_webBrowserDialog.h"
#include<QWidget>
#include<QWebView>
#include<QLineEdit>
#include<QGridLayout>
#include<QUrl>
#include<QPushButton>
#include<QToolBar>
#include<QString>
#include<QStatusBar>
#include<QProgressBar>
#include<QLabel>
 
class webBrowserDialog : public QWidget
{
Q_OBJECT
 
public:
webBrowserDialog(QWidget *parent = 0);
~webBrowserDialog();
 
private slots:
void viral();
 
private:
QGridLayout *lay;
QPushButton *back;
QPushButton *forward;
QPushButton *reload;
QPushButton *stop;
QWebView *web;
QPushButton *load;
QLineEdit *line;
QToolBar *tool;
QStatusBar *bar;
QProgressBar *progress;
QLabel *label;
QWidget *win;
};
 
#endif // WEBBROWSERDIALOG_H

Captura de tela

  • Visão do emulador

Mywebview.JPG

  • Abrindo.... forum.nokia.com

Webbrowser.JPG

  • Abrindo.... Yahoo.com

Webyahoo.JPG

This page was last modified on 11 October 2012, at 04:14.
100 page views in the last 30 days.
×