如何使QWebView / QWebPage默认为serif字体?

时间:2012-01-27 02:30:19

标签: python fonts pyqt default qwebkit

使用PyQt4,我创建一个QWebView,然后使用其setHtml()方法加载它。 HTML在大多数方面都正确显示,但始终使用默认的sans-serif字体。

当外部浏览器加载相同的HTML纯文本时,例如Firefox,它以默认的serif字体显示。我希望webview也能这样做。

我已经阅读了QWebView,QWebPage和QWebSettings的文档,并且没有看到任何设置默认“标准”或“比例”字体的方法,与浏览器的首选项设置相比。我查看了QStyleSheets,但它们似乎不适用于QWebView / WebPage。

2 个答案:

答案 0 :(得分:5)

要设置所有网页的默认字体,请使用QWebSettings更改StandardFont的字体系列,并更改DefaultFontSize的字体大小:

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

答案 1 :(得分:0)

QWebSettings似乎拥有您需要的一切:

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

我没有测试过,但你错过了什么?您可能希望查看基于Qt Webkit的Arora Web浏览器。