qwebview的使用

 #ifndef BROWSER_H
 #define BROWSER_H
 
#include 
#include 
#include 
#include 
 
class Browser :
             public QMainWindow
 {
     Q_OBJECT
 public:
     Browser();
 
 private slots:
     void loadLinkPage(const QUrl & url);
     void loadPage();
  void backPage();
  void forwardPage();
  void reloadPage();
  void refreshLine();
  
 
 private:
     void createActions();
   
     void createToolBars();
     void createStatusBar();
    
     QToolBar *navigationToolBar;
  QAction *backAct;
  QAction *forwardAct;
  QAction *reloadAct;
  QWebView *pageView;
  QLineEdit *pageLine;
     
 };
 
 #endif

 

 


Browser::Browser()  
{  
     pageView = new QWebView(this);  
     pageView->load(QUrl("http://www.baidu.com/"));  
     setCentralWidget(pageView);  
     pageView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);  
       
     pageLine = new QLineEdit(this);  
     pageLine->setText("http://www.baidu.com/");  
     createActions();  
     createToolBars();  
     createStatusBar();  
  
     connect(pageView, SIGNAL(loadProgress(int)), this, SLOT(refreshLine()));  
     connect(pageLine, SIGNAL(returnPressed()), this, SLOT(loadPage()));  
     connect(pageView, SIGNAL(linkClicked(const QUrl)), SLOT(loadLinkPage(const QUrl)));  
 }  
  
void Browser::createActions()  
{  
    backAct = new QAction(QIcon(":/images/back.png"), tr("&Back"), this);  
    backAct->setShortcut(tr("Ctrl+B"));  
    connect(backAct, SIGNAL(triggered()), this, SLOT(backPage()));  
  
    forwardAct = new QAction(QIcon(":/images/forward.png"), tr("&Forward"), this);  
    forwardAct->setShortcut(tr("Ctrl+F"));  
    connect(forwardAct, SIGNAL(triggered()), this, SLOT(forwardPage()));  
  
    reloadAct = new QAction(QIcon(":/images/reload.png"), tr("&Refresh"), this);  
    reloadAct->setShortcut(tr("Ctrl+R"));  
    connect(reloadAct, SIGNAL(triggered()), this, SLOT(reloadPage()));  
  
  
}  
  
 void Browser::createToolBars()  
 {  
     navigationToolBar = addToolBar(tr("Navigation"));  
     navigationToolBar->addAction(backAct);  
     navigationToolBar->addAction(forwardAct);  
     navigationToolBar->addAction(reloadAct);  
     navigationToolBar->addWidget(pageLine);  
  
 }  
  
 void Browser::createStatusBar()  
 {  
     statusBar()->showMessage(tr("Ready"));  
 }  
  
 void Browser::loadPage()  
 {  
       
     pageView->load(QUrl(pageLine->text()));  
 }  
  
 void Browser::backPage()  
 {  
     pageView->back();  
 }  
  
 void Browser::forwardPage()  
 {  
     pageView->forward();  
 }  
  
 void Browser::reloadPage()  
 {  
     pageView->reload();  
 }  
  
 void Browser::refreshLine()  
 {  
     pageLine->setText(pageView->url().toString());  
 }  
  
 void Browser::loadLinkPage(const QUrl & url)  
 {  
     pageView->load(url);  
 }  

#include "browser.h"
 
Browser::Browser()
{
     pageView = new QWebView(this);
     pageView->load(QUrl("http://www.baidu.com/"));
     setCentralWidget(pageView);
  pageView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
     
     pageLine = new QLineEdit(this);
     pageLine->setText("http://www.baidu.com/");
     createActions();
     createToolBars();
     createStatusBar();
 
     connect(pageView, SIGNAL(loadProgress(int)), this, SLOT(refreshLine()));
     connect(pageLine, SIGNAL(returnPressed()), this, SLOT(loadPage()));
     connect(pageView, SIGNAL(linkClicked(const QUrl)), SLOT(loadLinkPage(const QUrl)));
 }
 
void Browser::createActions()
{
 backAct = new QAction(QIcon(":/images/back.png"), tr("&Back"), this);
    backAct->setShortcut(tr("Ctrl+B"));
    connect(backAct, SIGNAL(triggered()), this, SLOT(backPage()));
 
    forwardAct = new QAction(QIcon(":/images/forward.png"), tr("&Forward"), this);
    forwardAct->setShortcut(tr("Ctrl+F"));
    connect(forwardAct, SIGNAL(triggered()), this, SLOT(forwardPage()));
 
 reloadAct = new QAction(QIcon(":/images/reload.png"), tr("&Refresh"), this);
    reloadAct->setShortcut(tr("Ctrl+R"));
    connect(reloadAct, SIGNAL(triggered()), this, SLOT(reloadPage()));
 
 
}
 
 void Browser::createToolBars()
 {
     navigationToolBar = addToolBar(tr("Navigation"));
     navigationToolBar->addAction(backAct);
     navigationToolBar->addAction(forwardAct);
     navigationToolBar->addAction(reloadAct);
     navigationToolBar->addWidget(pageLine);
 
 }
 
 void Browser::createStatusBar()
 {
     statusBar()->showMessage(tr("Ready"));
 }
 
 void Browser::loadPage()
 {
  
  pageView->load(QUrl(pageLine->text()));
 }
 
 void Browser::backPage()
 {
  pageView->back();
 }
 
 void Browser::forwardPage()
 {
  pageView->forward();
 }
 
 void Browser::reloadPage()
 {
  pageView->reload();
 }
 
 void Browser::refreshLine()
 {
  pageLine->setText(pageView->url().toString());
 }
 
 void Browser::loadLinkPage(const QUrl & url)
 {
  pageView->load(url);
 }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值