2012-01-27 6 views
3

PyQt4を使用してQWebViewを作成し、そのsetHtml()メソッドを使用してロードします。 HTMLはほとんどの点で正しく表示されますが、常にデフォルトのsans-serifフォントを使用します。QWebView/QWebPageをデフォルトでserifフォントにするにはどうしたらいいですか?

同じHTMLプレーンテキストが外部ブラウザによって読み込まれると、 Firefoxでは、デフォルトのserifフォントで表示されます。私はwebviewも同じことをしたいと思います。

私はQWebView、QWebPage、およびQWebSettingsのドキュメントを読んできましたが、ブラウザの環境設定に匹敵するデフォルトの "標準"または "比例"フォントを設定する方法はありません。私はQStyleSheetsを見ましたが、QWebView/WebPageには当てはまらないようです。

+0

: –

+0

このアプリケーションで編集するHTML文書については、フォントやフォントファミリを指定しないという標準がありますが比例フォントをデフォルトにします。つまり、ユーザーはいつでもブラウザーの設定でルックスを制御できます。私が理解できないことは、QWebPageと同等の "ブラウザ設定"を行う方法です。 – user405

答えて

0

QWebSettingsあなたが必要なすべてを持っているように見えます:

enum FontFamily { StandardFont, FixedFont, SerifFont, SansSerifFont, CursiveFont, FantasyFont } 
void setFontFamily (FontFamily which, const QString & family) 

私はそれをテストしていませんが、あなたは何が不足していますか?あなたはQt Webkitに基づいてAroraウェブブラウザを見たいかもしれません。いくつかのCSSを設定していない理由は、好奇心のうち

settings = QtWebKit.QWebSettings.globalSettings() 
settings.setFontFamily(QtWebKit.QWebSettings.StandardFont, 'Times New Roman') 
settings.setFontSize(QtWebKit.QWebSettings.DefaultFontSize, 12) 
+0

setFontFamilyは、汎用FontFamilyに使用される特定のfont-nameを設定します。私がfontFamily(QWebSettings.SerifFont)というクエリを印刷すると、 "Times New Roman"が表示されます。私はsetFontFamily(QWebSettings.SerifFont、 "Palatino")とviolaを呼び出し、fontFamilyは "Palatino"をエコーバックします。 Big whoop - 既定のSansSerifFontを使用してWebページが表示されます。問題は、SansSerifFontではなくSerifFontを使用してQWebPageをレンダリングする方法です。 – user405

+0

...私はそれが問題だと思う、私は間違っているかもしれないと思う(私はしばしば) – user405

+0

私は何かここに明白な行方不明かもしれないが、あなただけでなく、SansSerifFontのフォント面を設定することはできますか? –

5

StandardFontのフォントファミリを変更する QWebSettingsを使用し、 DefaultFontSizeのフォントサイズを変更するには、すべてのWebページのデフォルトのフォントを設定するには内容に? 「 」と同じような単純なことは、このトリックを行うべきです...
+1

それは、ありがとうございました! – user405

+0

htmlに未定義フォントファミリが含まれている場合、同じことは機能しません。 p {font-family: "xyz"} ..この場合、Webページはデフォルトのフォントを使用していません。なぜですか? – Ashish

+0

@Ashish。申し訳ありません - 分かりません。他の人もそうするかもしれないので、あなたは新しい質問をするべきです。 – ekhumoro

関連する問題