问题标签 [cefpython]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - cefpython3 使用 tkinter 在 Windows 上阻止 UI
我正在 python 3.7.8 中使用tkinter制作应用程序。
我必须显示一张地图,所以我使用Folium生成它并使用cefpython3显示它(因为它使用 javascript 生成为 html)
它在 Linux 上运行良好,但是当我尝试在 Windows 10 上对其进行测试时,显示地图,我可以单击按钮,但除非我单击另一个窗口,否则无法与任何按钮交互,然后返回窗口程序。tkinter.Entry
我认为这是一个焦点问题,但即使尝试将 cefpython3 浏览器的焦点设置为 False,问题仍然存在。
这是 MapVisualizer 代码
这是浏览器代码
没有错误或调试消息,正如我所说,这个问题只发生在 Windows 上(相同的env目录和所有内容)。
kivy - 在 Kivy 屏幕中嵌入 cefpython
我正在构建一个带有 2 个屏幕的简单 Kivy 应用程序。第一个屏幕有一个简单的按钮,单击该按钮会转到第二个屏幕,并应在嵌入式浏览器中打开特定网站(例如 google.com)。我知道 Kivy 本身并不支持嵌入式浏览器,所以我使用了 cefpython。顺便说一句,我正在为应用程序使用 Python 3 和 Kivy 1.11.1。
https://github.com/cztomczak/cefpython
简单的 hello-world 示例使用 cefpython3 并且似乎运行良好。
https://github.com/cztomczak/cefpython/blob/master/docs/Tutorial.md#hello-world
问题是这段代码会在 Kivy 应用程序上打开一个新的应用程序窗口并暂停其执行,直到浏览器窗口关闭。我想要实现的是在 Kivy 应用程序屏幕中打开 url。
所以,我遇到了这个在 Kivy 中嵌入 cefpython 的例子:
https://github.com/cztomczak/cefpython/blob/master/src/linux/binaries_64bit/kivy_.py
但似乎这个例子需要 Python 3 不支持的 pygtk2。因此,我无法让它工作。此外,对于尝试打开 URL 之类的简单活动,该代码看起来有点矫枉过正。
有人可以指导我如何在 Kivy 中嵌入 cefpython 或任何其他嵌入式浏览器的工作示例吗?
python-3.x - python3中的PyGTK、PyGObject和Pgi
在https://github.com/cztomczak/cefpython/blob/master/src/linux/binaries_64bit/kivy_.py中,pygtk
并被gtk
使用。(注意源代码只在Linux下测试过,我用的是Windows)
当我尝试时pip install pygtk
,出现错误
因此,我又去了pip install pygobject
,错误。
然后我参考了一些关于 stackoverflow 的帖子,他们告诉我gtk
不再需要它,python3
并将其替换为pgi
. (我不知道我应该在源代码中替换pygtk
or gtk
)所以我尝试了pip install pgi
,再次出错。
我不知道发生了什么。我希望有人能把我从这个无限错误循环中拉出来。非常感谢。
python - 无法在 Linux 上使用 pyinstaller 和 cefpython 创建可执行文件(ICU 数据的文件描述符无效)
我有一些简单的 cefpython 代码打开一个 url,并试图用 pyinstaller 创建一个独立的可执行文件:
我将文件从https://github.com/cztomczak/cefpython/tree/master/examples/pyinstaller复制到名为pyinstaller
我对 pyinstaller.spec 做了以下小改动
我可以使用 python 在 Windows 上成功编译我的应用程序在使用 python 3.5.4 64 位和以下 virtualenv 的同一台机器上:
我还可以使用 python 3.6.4 64 和以下 virtualenv 编译 windows:
在 Linux 上编译也可以,但可执行文件无法运行。
我得到以下输出和错误:
版本是 python 3.5.2 64bit,virtualenv 是:
可能是什么原因?
我尝试编译的代码如下:
附录:2020-10-14:
linux 上与其他版本相同的错误:到目前为止,我尝试了 python 3.5 和 3.7
有没有人成功创建了可执行文件?我可能是,这只是示例项目及其配置的问题?
python - 如何在cefpython中禁用同源策略?
我想在使用pywebview时禁用 cefpython。我根据此页面尝试了以下代码:same-origin policy
但这似乎并不能解决问题。我有一个不同来源的 iframe,我想在其中触发点击事件。如果启用了安全性,那么它将使用同源策略消息引发错误。我错过了什么吗?我该如何解决这个问题?
python - cefpython 和 POST 错误 401(未经授权)
我是 cefpython 的新用户 - 如果我的问题听起来很愚蠢,我深表歉意。我最近尝试将基于 wxPython 的 cefpython 浏览器集成到我们的一个应用程序中。这个浏览器窗口嵌入了一个网络应用程序(它在标准的 Chrome 浏览器和 Edge 上都能很好地工作)。
这个网络应用程序要求提供登录凭据(这很好用),在导航几个菜单后,我可以询问网络应用程序上可用的“项目”列表。在标准的 Chrome 浏览器中,列表会立即显示,而在嵌入式 cefpython 浏览器中,它会永远被旋转的轮子卡住(就像它在向我发出等待的信号一样)。但纺车永远不会消失。
通过 ShowDevTools() 启用开发者模式会显示以下错误消息:
使用标准 Chrome 不存在哪些。我不确定这是阻止网络应用程序执行的唯一原因,但我尝试过的任何事情似乎都无法让它工作......
有没有人对如何解决这个问题有任何建议或曾经遇到过这样的问题?
预先感谢您的帮助。
安德里亚。
python - 如何在离线使用的 Kivy 应用程序中显示 openstreetmap 切片?
嗨 stackoverflow 社区 - 我在这里问了几件事,所以我将首先尝试详细概述我的项目:
我正在为我的打浆机吉普车(TJ,如果你必须知道的话)制作一个触摸屏,它运行在树莓派 3 A+ 上。我正在通过 GPIO 和一堆杂项小工具(如 GPS)集成 AC 控件,现在我正在尝试解决项目中最困难的部分,即下载我所在地区的 openstreetmap 图块,并使用GPS 上所说的瓷砖全部离线。非常感谢 Kivy 的开发人员,我非常喜欢用它制作 GUI,而且学习 openstreetmap 社区也非常酷。
我正在寻求一些关于如何在我的 kivy 应用程序中显示地图的方向或想法,因为有很多事情我不知道/不完全理解它们是如何工作的。
- 我应该使用哪些 Kivy 模块来显示图块?
- 我可以在 kivy 模块中嵌入 Javascript API 吗?
- 我必须使用 javascript,还是可以用 python 以另一种方式攻击?(这看起来像一个竞争者)
- 我应该学习什么编码语言来补充我的 python/julia/arduino-ish 技能来帮助实现这一点?
- 我可以让我的树莓派假装它是我的 kivy 应用程序的 openstreetmap 服务器来 ping 平铺请求吗?
任何方向都值得赞赏,这是一个雄心勃勃的项目,但这就是让它变得有趣的原因。同样,如果你曾在 kivy 上工作过或为 openstreetmaps 做出过贡献,请给你点赞。
-费尔南多
编辑
在阅读了一些 CEFPython3 文档之后,我认为这可能是正确的方法。如果我了解它是如何工作的(请在此处纠正我),我可能会在 Kivy 的 CEF 浏览器小部件中运行 Leaflet.js,使用:
cef.ExecuteJavascript(jsCode="filepath/to/leaflet.js")
,
然后使用cef.executeFunction()
传递纬度和经度数据以及更新 javascript 地图对象的瓦片层?
*我引用的leaflet.js 代码在这里
*Cefpython 仓库在这里
python - 如何制作 cefpython Kivy 小部件
我正在尝试在我的 kivy 应用程序中嵌入使用 cefpython3 的浏览器 - 我不需要大量功能(我只需要浏览器为我运行一些 javascript)。
我下载了 cefpython3 repo 并让hello_world.py工作,现在我只是想让那个弹出到 kivy 小部件的窗口。
这些示例似乎已经过时了,人们说他们只在某些环境中开发 - 我必须做什么/学习制作一个小部件并将这个浏览器放在那里?
python - 我如何在 Raspberry pi 3 A+ 上获取 cefpython3
试图在树莓派 3 A+ 上安装 cefpython3,但我在所有下载/构建方向上都有些迷失了。简单地使用pip install cefpython3=66.0
似乎并没有削减它。我是 linux 新手,所以我觉得一些命令对于有经验的 linux 用户来说是隐含的或第二天性,这有点超出我的 atm 范围。帮助表示赞赏。