1
WebEngineView
のhtmlコンテンツの一部にカスタムフォント(qrcのフォントがあります)を適用するにはどうすればよいですか?WebEngineView:htmlコンテンツにカスタムフォントを設定
WebEngineView
のhtmlコンテンツの一部にカスタムフォント(qrcのフォントがあります)を適用するにはどうすればよいですか?WebEngineView:htmlコンテンツにカスタムフォントを設定
私は(私はこれがどのように安全ではわからない)私のカスタムフォントを使用する方法を考え出し:
://res/font/myfont.ttf
。このコンテンツをQRCにstyle.css
を作成します。
WebEngineView {
id: webEngineView
onLoadingChanged: {
if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
webEngineView.runJavaScript(
"var headHTML = document.documentElement.getElementsByTagName('head')[0].innerHTML;" +
"headHTML += '<link rel=\"stylesheet\" href=\"qrc:/css/styles.css\">';" +
"document.documentElement.getElementsByTagName('head')[0].innerHTML = headHTML;"
);
}
}
}
そして最後には、このコマンドを使用してアプリケーションを実行します。コンテンツは、あなたのstyle.css
HTMLに追加WebEngineView
にロードQMLで
@font-face {
font-family: myfont;
src: url('qrc:/res/font/myfont.ttf');
font-weight: bold;
}
body {
font-family: 'myfont';
text-align: justify;
line-height: 25px;
}
行引数--disable-web-security
それは '* View'なので、あなただけのコンテンツを編集することはできません。あるいは、回避策としてページHTMLコードを取得し、それを変更し、 'WebEngineView.loadHtml()'を呼び出すことによって設定することができます。 – folibis
HTMLコンテンツに 'WebEngineView.loadHtml()'がロードされています。 'TextArea {font.family:" myFont "}'のようにQMLのカスタムフォントを使うことができます。それは働いています。問題は、WebEngineViewのCSSを使ってHTMLコンテンツからこのフォントを使用する方法です。 – mroot