Qt WebKit学习笔记(4)---实战QWebView--2

时间:2022-12-26 22:11:55

关于QWebView的信号与槽,下面列出:

Public Slots

·         void back ()

·         void forward ()

·         void print ( QPrinter * printer ) const

·         void reload ()

·         void stop ()

·         19 public slots inherited from QWidget

·         1 public slot inherited from QObject

Signals

·         void iconChanged ()

·         void linkClicked ( const QUrl & url )

·         void loadFinished ( bool ok )

·         void loadProgress ( int progress )

·         void loadStarted ()

·         void selectionChanged ()

·         void statusBarMessage ( const QString & text )

·         void titleChanged ( const QString & title )

·         void urlChanged ( const QUrl & url )

·         1 signal inherited from QWidget

·         1 signal inherited from QObject

1.loadStartedloadFinishedloadProgress信号介绍

loadStarted信号当有新的web page请求时发出。而我们关注更多的是loadProgress信号。loadProgress信号在load web page的一个元素成功时发出。这里的元素指代imagetextscript对象。loadProgressvalue表明了网页load的进度,范围从0-100。我们可以看出,QWebView封装了获得load进度值的计算方法。我们可以连接信号,对进度条赋值
connect(webView, SIGNAL(loadProgress(int)), SLOT(setProgress(int)));
其中setProgress方法需要自己定义。
loadFinished信号在web page load完成后发送。

 

 

2.iconChangedselectionChangedtitleChangedurlChanged信号介绍

web page显示网页的iconselected texttitleurl改变时发送

 

3.backforwardreloadprintstop槽介绍

backforward对应QWebPage的后退与前进操作,相当于webView->page()->triggerPageAction(QWebPage::Back);
webView->page()->triggerPageAction(QWebPage::Forward);
其中QWebView通过调用page方法返回current page. QWebPage::BackQWebPage::ForwardQWebPage::WebAction中定义
 
Reloadstop槽为重载与停止load web page
 
Print槽用于将main frame通过QPrinter paints出来。这里可以更进一步了解QWebViewQWebPageQWebFrame三者的层次结构

 

 

4.linkClickedstatusBarMessage信号

首先,linkClicked信号能够发送的前提是对应的QWebPage::linkDelegationPolicy被设定为允许链接
statusBarMessage信号发生在status text改变时