2016-04-07 8 views
3

Я перехожу мой код с Qt 5.5 на Qt 5.6, но я не нашел путь к порту следующий код:QWebView :: settings() -> setUserStyleSheetUrl() из QtWebKit в QtWebEngine?

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

Что такое лучший способ вставить CSS пользователя с помощью нового Qt Веб-движок?

+0

Qwebenginesetting не имеет метода setUserStyleSheetUrl ... –

ответ

1

Если вы читаете здесь: Bug Report on QWebEngine, вы увидите, что:

Единственная возможность вводить код CSS в WebEngineView является с помощью JavaScript. Было бы неплохо иметь соответствующий API для этого , и он может выглядеть как наш уже существующий API UserScripts.

Кажется довольно ясным: вы больше не можете использовать 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> 

Надежда, что помогает.

+0

Привет @Alexis P, мой стиль.css находится в файле qrc ... Но я попробую ваше решение. Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^