我有一个Flask应用程序,可以在localhost:3000上渲染一些页面。为了在每台计算机上正确显示这个页面,我使用了chromium浏览器(基本上是cefpython3中的WXpython示例,只做了一些小改动:https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py)。然而,在一些分辨率/缩放级别不同的计算机上,我必须使用不同的参数'auto_zooming‘重新运行代码,以便正确显示页面:
...
zoom = '0'
settings = {'debug': False, 'auto_zooming': zoom}
cef.Initialize(settings=settings)
...我的问题是:有没有办法改变Cefpython浏览器的缩放级别,而不必在每次我想要改变缩放时重新运行代码?我在想'ctrl - +‘或'ctrl - -’之类的东西。
先谢谢你,里卡多
发布于 2018-09-11 02:12:02
你不能在初始化CEF之前检测到缩放级别吗?
auto_zooming选项将调用SetBrowserDpiSettings C++函数。它在一个50毫秒的定时器中不断地设置缩放级别。您可以用纯Python实现类似的功能。它使用四个函数,它们的Python等效项是:Browser.SetZoomLevel、Browser.GetZoomLevel、cef.DpiAware.GetSystemDpi和cef.PostDelayedTask。
在这里查看C++函数的源代码:
https://stackoverflow.com/questions/52261386
复制相似问题