最近由于工作需求,需要在C/S模式下嵌入使用B/S框架,簡(jiǎn)單的說缓艳,就是在C/S軟件架構(gòu)下嵌入網(wǎng)頁瀏覽,最開始我們選取的是CEF開源框架看峻,但是考慮到跨平臺(tái)應(yīng)用(我們公司大部分產(chǎn)品會(huì)在linux環(huán)境應(yīng)用阶淘,當(dāng)然CEF也是可以跨平臺(tái)),綜合易用性考慮互妓,選取了Qt的QWebEngine技術(shù)溪窒,由于Qt天然的跨平臺(tái)屬性,使得應(yīng)用的開發(fā)非常簡(jiǎn)單方便冯勉。
Qt提供了QWebEngineView這個(gè)類澈蚌,可以像QWidget那樣使用,隨意的嵌入任何布局中珠闰,利用該類對(duì)象的接口實(shí)現(xiàn)網(wǎng)頁的加載,類似如下代碼:
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QString url_str;
if (argc >= 2)
{
url_str = QString::fromLocal8Bit(argv[1]);
}
else
{
url_str = "www.baidu.com";
}
qDebug() << "url: " << url_str;
QWebEngineView view;
QUrl url = QUrl::fromUserInput(url_str);
view.setUrl(url);
view.resize(980, 550);
view.show();
return app.exec();
}
這樣就可以實(shí)現(xiàn)簡(jiǎn)單的頁面加載功能