av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

c++ - QWebEngineView加載url后直接點擊鏈接沒有反應要怎么解決?

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

問題描述

我用QWebEngineView加載一個url后,直接點擊鏈接沒有任何反應,要在鏈接上右鍵點擊,然后通過菜單的Follow Link才能打開。初學Qt能力有限,找了QWebEngineView和QWebEnginePage的文檔愣是沒看到有相關的方法,求大家幫忙看看。

網上資料太少了,全是QWebView的,可是我用的是Qt5.6,已經沒有這個模塊了。

問題解答

回答1:

在QWebEngineView中有下面的方法:

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

在鼠標左鍵點擊的時候會觸發這個方法,你把它重載一下,用你自己的實現就可以了。

回答2:

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

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

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

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

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

}

**

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

**

標簽: web
相關文章:
主站蜘蛛池模板: 高清国产午夜精品久久久久久 | 亚洲午夜电影 | 国产在线精品一区二区 | 日韩淫片免费看 | 在线免费观看日本 | 欧美激情视频一区二区三区免费 | 久久av一区二区三区 | 日韩精品免费在线观看 | 欧美一区二区三区 | www,黄色,com| 精品日韩一区 | 99精品在线 | 九九亚洲 | 九一精品 | 欧美一页 | 国产91久久久久久久免费 | 欧美精品区 | 国产一区二区精华 | 一区二区三区在线免费观看 | 99精品电影 | 精品欧美乱码久久久久久1区2区 | 青青久在线视频 | 韩国欧洲一级毛片 | 欧美久久一区二区 | 国产午夜精品一区二区三区嫩草 | 久久久高清 | 欧美专区在线观看 | 久久久久久久久久久丰满 | 亚洲午夜精品在线观看 | 国产精品成人国产乱一区 | 91新视频 | 国产成人精品一区二区三区 | 国产在线一区二 | 日韩av高清| 新91视频网 | 伊人久久综合 | 91成人在线| 精品成人佐山爱一区二区 | 久草欧美 | 99视频入口| 日韩欧美1区2区 |