2012-11-06 32 views
1

代碼QWebView,如何確定這個鏈接是否是一個新窗口?

News::News(QWidget *parent) : 
    QDialog(parent), 
    ui(new Ui::News) 
    { 
    ui->setupUi(this); 
    ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); 
    connect(ui->webView,SIGNAL(linkClicked(QUrl)),this,SLOT(openUrl(QUrl))); 
    } 

void News::openUrl(QUrl url){ 
    if(the new window) 
     QDesktopServices::openUrl(url); 
    }else{ 
    ui->webView->load(url); 
    } 
} 

如何判斷的,而不是一個新的窗口鏈接功能的OpenURL? 我將如何編寫此代碼? 謝謝!!!

回答

0

您需要從QWebView繼承自己的類並重新實現createWindow()方法。 http://doc.qt.digia.com/qt/qwebview.html#createWindow

+0

當新窗口以及如何獲取URL? – Silence

+1

不太清楚「當新窗口」的含義。 QWebView將設置正在打開的URL給你返回指針的QWebView。如果您需要知道URL,您可以捕獲在加載頁面期間發出的QWebPage信號之一併查詢URL。 – eburger

+0

我需要做一個瀏覽器,點擊url現在全部加載處理。我該如何處理更好? Silence

相關問題