我将代码从Qt 5.5升级到Qt 5.6,但是找不到移植以下代码的方法:

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

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

最佳答案

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



似乎很清楚:,您不能再使用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>

希望能有所帮助。

关于c++ - QWebView::settings()-> setUserStyleSheetUrl()从QtWebKit到QtWebEngine吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36483006/

10-13 06:28