编程语言
首页 > 编程语言> > python – PySide-QtWebKit:CSS font-family无效

python – PySide-QtWebKit:CSS font-family无效

作者:互联网

在QWebView中,我使用QWebView.setHtml()动态创建和加载HTML.在我传递给此方法的HTML字符串中,我有一个< style>我从外部文件中注入CSS字符串的部分.除了字体系列之外,CSS工作得很漂亮.字体总是回退到QWebView默认的sans-serif字体.我可以使用QWebView.settings().setFontFamily(QtWebKit.QWebSettings.StandardFont,“serif”)更改默认字体,但这只会使页面上的所有内容成为serif字体,而不是遵循CSS font-family值.

我的CSS文件中的相关部分:

.page-title {
    color:#BBBBBB;
    font-family:"Times New Roman",Garamond,serif;
}

这不会像预期的那样以serif字体呈现,而是以通用的sans-serif字体呈现.但是,颜色显示没有问题.

有一次,为了调试,我在调用QWebView.setHtml()之前打印了完整的HTML字符串,并将输出重定向到一个文件.当我在Chromium中打开它时,此文件按预期呈现,这让我相信问题不是HTML / CSS问题.如果您感兴趣,Here就是输出.

编辑:因为我在这里设置一个赏金,这里是一个快速tl;博士应该总结一切重要的事情:

使用PySide,如何在通过QWebView.setHtml()加载的HTML页面中创建QWebView荣誉CSS字体系列设置?具体来说,是否有一些秘密的,隐藏的设置可以打开和关闭这种行为?或者我应该将此报告为框架中的错误?

如果你想自己测试一下,Here是我正在进行的项目的GitHub仓库的链接.依赖关系列在自述文件中.

解决方法:

在Page.html(你链接的那个)https://raw.github.com/crayZsaaron/df-legends-reader/master/page.html的标题中

我找到了这个..

.page-title {
    color:#BBBBBB;
    font-family:Helvetica, sans-serif;
}

也许尝试删除它,或用它替换它

.page-title {
    color:#BBBBBB;
    font-family:"Times New Roman",Garamond,serif;
}

标签:python,css,qt,pyside,qtwebkit
来源: https://codeday.me/bug/20190629/1325839.html