1
我继承了QWebEngineView类:QWebEngineView:在Mac OSX anormal行为
class WebViewPerso(QtWebEngineWidgets.QWebEngineView):
def __init__(self, parent=None):
super(WebViewPerso, self).__init__(parent)
print(self.settings().fontFamily(QtWebEngineWidgets.QWebEngineSettings.StandardFont))
# Get the default font and use it in the view
self.settings().setFontFamily(
QtWebEngineWidgets.QWebEngineSettings.StandardFont,
self.font().family())
print(self.settings().fontFamily(QtWebEngineWidgets.QWebEngineSettings.StandardFont))
在Linux上,两个打印语句返回:
DejaVu Serif
Sans Serif
它清楚地表明,我改变了字体为视图,并且视图现在使用正确的字体。
随着OSX完全一样的线,我得到:
Times
.SF NS Text
这也预示字体被改变。但是,视图仍然使用Times字体。
我也试过在设置栏:
FixedFont
SerifFont
SansSerifFont
CursiveFont
FantasyFont
PictographFont
但我WebEngineView仍然使用Times字体。
你有什么想法为什么我观察到这种行为?
我很抱歉,但setFont不能在Linux上工作(至少对我而言)。我不知道为什么。是否因为我使用setHtml来设置视图的内容? – Rififi
可能,即使我使用self ... load(...)我也使用setHtml,所以不知道为什么你有这个问题,对不起“/ – yurisnm
好吧,我有更多的信息。在linux上,setFont但我仍然可以使用我在问题中展示的技巧,在Mac OS上,问题来自于'.NS SF Text''字体,我可以在任何其他字体上使用我的技巧,但这一个。我猜一些权限问题:https://eclecticlight.co/2015/11/10/qa-how-to-use-san-francisco-font-in-docs/。这个字体应该只用于奇怪的是,我可以在我的软件中的任何地方使用它,除了在QWebEngineView中。 – Rififi