我有以下Qt webview:
QWebView *view = new QWebView();
view->load(QUrl("http://example.com"));
我希望在加载完成后获取文档的标题,并使用它来设置主窗口标题。
据我所知view->loadFinished()
如果页面加载了则返回true
。
为了设置窗口标题,我使用webView->setWindowTitle(newTitle)
。所以,我需要newTitle
变量,我想成为文档标题。
我该怎么做?
答案 0 :(得分:2)
QWebView::loadFinished
是一个信号。您可以订阅它以了解页面何时加载:
connect(view, SIGNAL(loadFinished(bool)), this, SLOT(onLoaded()));
要访问HTML标题,您可以使用QWebView::title
属性。
void onLoaded()
{
window->setWindowTitle(view->title());
}
而不是使用loadFinished
,使用信号titleChanged(const QString& title)
将新标题应用于窗口可能更合适:
connect(view, SIGNAL(titleChanged(QString)), this, SLOT(setWindowTitle(QString)));
编辑:
示例:
QWebView* webView = new QWebView();
connect(webView, SIGNAL(titleChanged(QString)), webView, SLOT(setWindowTitle(QString)));
webView->load(QUrl("http://yahoo.com"));
webView->show();