国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

c++ - QWebEngineView加載url后直接點(diǎn)擊鏈接沒有反應(yīng)要怎么解決?

瀏覽:238日期:2024-03-25 18:53:16

問題描述

我用QWebEngineView加載一個url后,直接點(diǎn)擊鏈接沒有任何反應(yīng),要在鏈接上右鍵點(diǎn)擊,然后通過菜單的Follow Link才能打開。初學(xué)Qt能力有限,找了QWebEngineView和QWebEnginePage的文檔愣是沒看到有相關(guān)的方法,求大家?guī)兔纯础?/p>

網(wǎng)上資料太少了,全是QWebView的,可是我用的是Qt5.6,已經(jīng)沒有這個模塊了。

問題解答

回答1:

在QWebEngineView中有下面的方法:

QWebEngineView *QWebEngineView::createWindow(QWebEnginePage::WebWindowType type)

在鼠標(biāo)左鍵點(diǎn)擊的時候會觸發(fā)這個方法,你把它重載一下,用你自己的實(shí)現(xiàn)就可以了。

回答2:

這個bug與createWindow函數(shù)好像沒關(guān)系。在QWebEngineView里面,用戶點(diǎn)擊網(wǎng)頁的鏈接時,會觸發(fā)信號:urlChanged(QUrl)但是QWebEngineView不會自動去加載新的鏈接。

所以需要自己為urlChanged(QUrl)新建一個槽函數(shù),自己手動加載參數(shù)里的新鏈接。比如:

connect(m_pView, SIGNAL(urlChanged(QUrl)), this, SLOT(onUrlChanged(QUrl)));

//網(wǎng)頁鏈接地址//用戶點(diǎn)擊網(wǎng)頁觸發(fā)//QWebEngineView有毛病,用戶點(diǎn)擊網(wǎng)頁里的鏈接時,只觸發(fā)urlChanged(QUrl)信號//不自動加載新鏈接網(wǎng)頁,需要手動加載void MainWindow::onUrlChanged(const QUrl &url){

//地址欄的舊網(wǎng)址QUrl old = QUrl( m_pURLEdit->text() );//鏈接有變化才更新,用戶點(diǎn)擊網(wǎng)頁里的新鏈接會觸發(fā)if(url != old){ m_pURLEdit->setText( url.toString() ); //用戶點(diǎn)擊了新網(wǎng)頁,但是沒自動加載,手動刷新 m_pView->load(url);//要放在if判斷內(nèi)部,否則容易無限刷新,死循環(huán)}qDebug()<<url;

}

**

示例代碼: http://pan.baidu.com/s/1gfc7BXp

**

標(biāo)簽: web
相關(guān)文章:
主站蜘蛛池模板: 中牟县| 宣威市| 汾阳市| 遂平县| 福贡县| 西藏| 吉木萨尔县| 辽源市| 祁阳县| 青阳县| 平湖市| 罗源县| 齐河县| 阿巴嘎旗| 沙湾县| 措勤县| 安泽县| 铁岭县| 黄陵县| 西吉县| 古丈县| 凤阳县| 武山县| 巴彦淖尔市| 沈阳市| 札达县| 汉源县| 华宁县| 和龙市| 翁牛特旗| 保靖县| 新安县| 广南县| 灌南县| 贡觉县| 崇义县| 永济市| 大洼县| 望谟县| 正宁县| 宜州市|