今天Steven找我,说Bank页里需要打开一些银行的pop-up。下午与他开会进一步确认了,这些pop-up需要在IE核心中打开,不然银行的ActiveX是用不了的。
现在的Bank页是在QWebView中打开的网页,肯定是支持不了这个需求的。
那就在Bank按钮的处理上做文章:
void SomeClass::BankButtonClicked()
{
QWebView *view = new QWebView(this);
view->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
connect( view->page(), SIGNAL(linkClicked(const QUrl &)),
this, SLOT(newsOnLinkClicked(const QUrl &)));
view->load(QUrl(url));
view->show();
}
void SomeClass::OpenExternalBrowser(const QUrl & url)
{
QDesktopServices::openUrl(url);
}