我有一个Flask应用,可在localhost:3000上呈现某些页面。为了在每台计算机上正确显示此页面,我使用了铬浏览器(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--”之类的东西。
预先感谢, 里卡多
答案 0 :(得分:1)
在初始化CEF之前不能检测缩放级别吗?
auto_zooming
选项将调用SetBrowserDpiSettings
C ++函数。它在50毫秒的定时器中不断设置缩放级别。您可以在纯Python中实现类似的功能。它使用四个函数,它们的Python等效项为:Browser.SetZoomLevel
,Browser.GetZoomLevel
,cef.DpiAware.GetSystemDpi
和cef.PostDelayedTask
。
在此处查看C ++函数源代码: