我正在编写一个显示文件夹中静态HTML文件的应用程序。出于某种原因,PyQt4的QWebView
类不允许任何字体呈现,即使对于远程网站也是如此:
QWebView
:
铬:
我正在加载文件:
self.web_view = QWebView()
self.settings = self.web_view.settings()
self.settings.setAttribute(QWebSettings.LocalContentCanAccessRemoteUrls, True)
self.web_view.load(QUrl('http://blender3d.github.com/Bevel/demo/'))
我是否还需要更改安全设置才能使其正常工作?
答案 0 :(得分:6)
在折磨QWebView
数小时后,我终于发现Font Squirrel令人惊讶地呈现了外部字体。我多次突出显示这些字母并且敬畏地坐在那里,微笑着。
无论如何,似乎是为了使这项工作与QWebView
:
@font-face {
font-family: 'Terminal Dosis';
font-style: normal;
font-weight: 400;
src: local('Dosis Regular'), local('Dosis-Regular'), url('../fonts/terminal-dosis-regular.woff') format('woff');
}
我必须让它看起来像这样:
@font-face {
font-family: 'Terminal Dosis Regular';
src: url('../fonts/terminal-dosis-regular.ttf') format('truetype');
}
请注意,QWebView
不喜欢WOFF字体。我必须通过Font Squirrel将我的转换为TrueType。
简而言之:
local()
的东西。font-style
和font-weight
。您必须为每种字体的每种样式制作不同的字体系列(例如Terminal Dosis Bold
)。答案 1 :(得分:0)
示例网址的stylesheet使用css @font-face
规则来指定在线字体。
不幸的是,它似乎在QWebKit中被打破:Bug 36351。
答案 2 :(得分:0)