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這邊比較多,目前不涉及暫不研究,有需要可以私信。