3

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

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

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

4

2 回答 2

5

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

settings = QtWebKit.QWebSettings.globalSettings()
settings.setFontFamily(QtWebKit.QWebSettings.StandardFont, 'Times New Roman')
settings.setFontSize(QtWebKit.QWebSettings.DefaultFontSize, 12)
于 2012-01-27T20:00:33.347 回答
0

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

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

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

于 2012-01-27T13:48:28.007 回答