Qt 顯示網頁的控件


Qt5.6以下的版本,基於QtWebkit控件
Qt5.6以上的MSVC版本,基於 Chromium 的瀏覽器引擎 Qt WebEngine
Qt5.6以上的mingw 版本,只能采用QAxWidget 控件 

 

 如果沒有這個控件請安裝Qt對應的版本選定webengineviw或者對應的模塊

 

Qt5.7msvc  下使用  webengine

工程文件里面包含: QT += webenginewidgets 

#include <QWebEngineView>

通過QWebEngineView這個控件去顯示url、
QWebEngineView *myWeb = new QWebEngineView(this);
myweb->setUrl(QUrl("https://www.baidu.com/"));
這樣可以直接使用了,但是沒有研究添加控件,比如前進,后退,刷新之類的。
效果圖如下,(可能是由於太多個webView的原因,導致卡頓7個)


Qt 5.7MingW 下使用QAxwigdet
工程文件里添加 QT += axcontainer
#include <QAxWidget>
  mainLayout = new QVBoxLayout(this);
  myWidget = new QAxWidget(this);
  mainLayout->addWidget(myWidget);
 
        
  myWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注冊組件UUID
  myWidget->setObjectName(QString::fromUtf8("my_musicLibraryWebWid"));//設置控件的名稱
  myWidget->setFocusPolicy(Qt::StrongFocus);       //設置控件接收鍵盤焦點的方式:鼠標單擊、Tab鍵
  myWidget->setProperty("DisplayAlerts",false);    //不顯示任何警告信息。
  myWidget->setProperty("DisplayScrollBars",true); // 顯示滾動條
  QString webStr = QString("http://www2.kugou.kugou.com/yueku/v9/html/home.html");//設置要顯示的Url  kugou的。
  myWidget->dynamicCall("Navigate(const QString&)",webStr);

效果圖如下,非常流暢,毫無卡頓。

 

至於4.8的webkit就不測試了,很少用到,基本應用都是以上兩種,4.x都是linux這邊比較多,目前不涉及暫不研究,有需要可以私信。

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM