Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt4 QWebView不呈现字体_Qt4_Pyqt4_Qwebview - Fatal编程技术网

Qt4 QWebView不呈现字体

Qt4 QWebView不呈现字体,qt4,pyqt4,qwebview,Qt4,Pyqt4,Qwebview,我正在编写一个显示文件夹中静态HTML文件的应用程序。出于某种原因,PyQt4的QWebView类不允许任何字体渲染,即使是远程网站: QWebView: 铬合金: 我正在加载文件,如下所示: self.web_view = QWebView() self.settings = self.web_view.settings() self.settings.setAttribute(QWebSettings.LocalContentCanAccessRemoteUrls, True) sel

我正在编写一个显示文件夹中静态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/'))
是否还有其他安全设置需要更改才能正常工作?

示例url使用css
@font-face
规则指定联机字体


不幸的是,QWebKit:中的此文件似乎已损坏。

已损坏!本文中可能的解决方法:


在折磨了
QWebView
好几个小时后,我终于注意到令人惊讶地呈现了一个外部字体。我多次强调这些字母,然后敬畏地坐在那里,微笑着

不管怎么说,似乎为了使这项工作与
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字体。我必须通过将我的转换为TrueType

简言之:

  • 确保您的字体是TrueType字体
  • 没有
    local()
    stuff
  • 似乎忽略了
    font-style
    font-weight
    。您必须为每种字体的每种样式创建不同的字体系列(例如,
    Terminal Dosis Bold

我看到用工件呈现的字体。。“不允许任何字体渲染”的确切含义是什么?只有一种字体,而且它是唯一被渲染的字体(例如,请看一看)。我曾尝试将我的字体转换为不同的格式(TTF、WOFF、OTF等),但QWebView忽略了它们。我已经用PyGTK重新编写了我的脚本,字体呈现与Chrome一样,但是Qt允许更大的Python/JavaScript交互。解决这个问题的另一个方法是:在系统中安装字体系列(在程序安装中打包)。或者使用
qtwebkit
5.1
或更高版本(似乎支持
.woff
字体)获取最新的
QWebView