加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 从QtWebKit到QtWebEngine的QWebView :: settings() – >

发布时间:2020-12-16 07:16:03 所属栏目:百科 来源:网络整理
导读:我正在将我的代码从Qt 5.5升级到Qt 5.6,但我没有找到一种方法来移植以下代码: QWebEngineView *qwebview = new QWebEngineView(this);qwebview-settings()-setUserStyleSheetUrl(QUrl("qrc:/about.css"));qwebview-setHtml(fileContentStr); 使用新的Qt Web
我正在将我的代码从Qt 5.5升级到Qt 5.6,但我没有找到一种方法来移植以下代码:

QWebEngineView *qwebview = new QWebEngineView(this);
qwebview->settings()->setUserStyleSheetUrl(QUrl("qrc:/about.css"));
qwebview->setHtml(fileContentStr);

使用新的Qt Web引擎插入用户CSS的最佳方法是什么?

解决方法

如果你在这里阅读: Bug Report on QWebEngine,你会看到:

The only opportunity to inject CSS code into the WebEngineView is
using JavaScript. It would be nice to have an appropriate API for this
and it could look like our already existing UserScripts API.

看起来很清楚:你不能再使用WebSettings来插入CSS了.相反,您将不得不使用HTML / JavaScript来做到这一点.

我不知道它是否会对你有所帮助,但这里有我所做过的摘录.

在我的.cpp中:

m_pView = new QWebEngineView(this);

QUrl startURL = QUrl("path/to/index.html");

m_pView->setUrl(startURL);

在index.html中:

<html>
    <head>
        <title>TITLE</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">

        <!-- Many JS scripts here -->

        <link href="./css/style.css" rel="stylesheet">

    </head>
    <body ng-app="myApp" >
      <div ui-view class="page"></div>
    </body>
</html>

希望有所帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读