最近由于工作需求,需要在C/S模式下嵌入使用B/S框架,简单的说,就是在C/S软件架构下嵌入网页浏览,最开始我们选取的是CEF开源框架,但是考虑到跨平台应用(我们公司大部分产品会在linux环境应用,当然CEF也是可以跨平台),综合易用性考虑,选取了Qt的QWebEngine技术,由于Qt天然的跨平台属性,使得应用的开发非常简单方便。
Qt提供了QWebEngineView这个类,可以像QWidget那样使用,随意的嵌入任何布局中,利用该类对象的接口实现网页的加载,类似如下代码:
#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();
}
这样就可以实现简单的页面加载功能
网友评论