在 cefpython 上运行时更改auto_zooming参数



我有一个 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 - -"之类的东西。

提前感谢, 里卡多

初始化CEF 之前无法检测到缩放级别吗?

auto_zooming选项将调用SetBrowserDpiSettingsC++函数。它在 50 毫秒计时器中不断设置缩放级别。你可以在纯 Python 中实现类似的功能。它使用四个函数,它们的Python等价物是:Browser.SetZoomLevelBrowser.GetZoomLevelcef.DpiAware.GetSystemDpicef.PostDelayedTask

请参阅此处的C++函数源代码:

https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163

相关内容

  • 没有找到相关文章

最新更新