PySideQtWebKit:CSS fontfoly有n个

2024-06-02 06:46:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在QWebView中,我使用QWebView.setHtml(). 在我传递给这个方法的HTML字符串中,我有一个<style>部分,我在其中从外部文件注入CSS字符串。CSS工作得很好,除了字体系列。字体始终返回到QWebView默认无衬线字体。我可以使用QWebView.settings().setFontFamily(QtWebKit.QWebSettings.StandardFont, "serif")更改默认字体,但这只会使页面上的所有内容都成为serif字体,而不是使用CSS字体系列值。在

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

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

这并不像预期的那样以衬线字体呈现,而是以普通的无衬线字体呈现。但是,颜色显示没有问题。在

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

编辑:既然我在这里设置赏金,这里有一个快速tl;dr应该总结一下所有重要的事情:

使用PySide,如何在通过加载的HTML页面中使QWebView符合CSS字体系列设置QWebView.setHtml()?具体来说,是否存在某种秘密的、隐藏的设置来打开或关闭这种行为?或者我应该在框架中报告这个bug吗?在

如果您想亲自测试一下,Here是指向我正在处理的项目的GitHub repo的链接。自述文件中列出了依赖项。在


Tags: 文件方法字符串heresettingsstylehtml字体