5

コードを 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 を挿入する最良の方法は何ですか?

4

1 に答える 1

2

ここを読めば: QWebEngine のバグレポート、あなたはそれを見るでしょう:

CSS コードを WebEngineView に挿入する唯一の機会は、JavaScript を使用することです。これに適した API があると便利で、既存の 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>

それが役立つことを願っています。

于 2016-04-08T08:00:25.010 に答える