使用PyQt4,我创建一个QWebView,然后使用其setHtml()方法加载它。 HTML在大多数方面都正确显示,但始终使用默认的sans-serif字体。
当外部浏览器加载相同的HTML纯文本时,例如Firefox,它以默认的serif字体显示。我希望webview也能这样做。
我已经阅读了QWebView,QWebPage和QWebSettings的文档,并且没有看到任何设置默认“标准”或“比例”字体的方法,与浏览器的首选项设置相比。我查看了QStyleSheets,但它们似乎不适用于QWebView / WebPage。
答案 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浏览器。