问题标签 [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.

0 投票
1 回答
232 浏览

python - cefpython3 使用 tkinter 在 Windows 上阻止 UI

我正在 python 3.7.8 中使用tkinter制作应用程序。

我必须显示一张地图,所以我使用Folium生成它并使用cefpython3显示它(因为它使用 javascript 生成为 html)

它在 Linux 上运行良好,但是当我尝试在 Windows 10 上对其进行测试时,显示地图,我可以单击按钮,但除非我单击另一个窗口,否则无法与任何按钮交互,然后返回窗口程序。tkinter.Entry

我认为这是一个焦点问题,但即使尝试将 cefpython3 浏览器的焦点设置为 False,问题仍然存在。

这是 MapVisualizer 代码

这是浏览器代码

没有错误或调试消息,正如我所说,这个问题只发生在 Windows 上(相同的env目录和所有内容)。

0 投票
1 回答
371 浏览

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 或任何其他嵌入式浏览器的工作示例吗?

0 投票
1 回答
668 浏览

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. (我不知道我应该在源代码中替换pygtkor gtk)所以我尝试了pip install pgi,再次出错。

我不知道发生了什么。我希望有人能把我从这个无限错误循环中拉出来。非常感谢。

0 投票
4 回答
707 浏览

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

有没有人成功创建了可执行文件?我可能是,这只是示例项目及其配置的问题?

0 投票
1 回答
123 浏览

python - 如何在cefpython中禁用同源策略?

我想在使用pywebview时禁用 cefpython。我根据此页面尝试了以下代码:same-origin policy

但这似乎并不能解决问题。我有一个不同来源的 iframe,我想在其中触发点击事件。如果启用了安全性,那么它将使用同源策略消息引发错误。我错过了什么吗?我该如何解决这个问题?

0 投票
0 回答
29 浏览

python - cefpython 和 POST 错误 401(未经授权)

我是 cefpython 的新用户 - 如果我的问题听起来很愚蠢,我深表歉意。我最近尝试将基于 wxPython 的 cefpython 浏览器集成到我们的一个应用程序中。这个浏览器窗口嵌入了一个网络应用程序(它在标准的 Chrome 浏览器和 Edge 上都能很好地工作)。

这个网络应用程序要求提供登录凭据(这很好用),在导航几个菜单后,我可以询问网络应用程序上可用的“项目”列表。在标准的 Chrome 浏览器中,列表会立即显示,而在嵌入式 cef​​python 浏览器中,它会永远被旋转的轮子卡住(就像它在向我发出等待的信号一样)。但纺车永远不会消失。

通过 ShowDevTools() 启用开发者模式会显示以下错误消息:

在此处输入图像描述

使用标准 Chrome 不存在哪些。我不确定这是阻止网络应用程序执行的唯一原因,但我尝试过的任何事情似乎都无法让它工作......

有没有人对如何解决这个问题有任何建议或曾经遇到过这样的问题?

预先感谢您的帮助。

安德里亚。

0 投票
0 回答
63 浏览

python - 如何在离线使用的 Kivy 应用程序中显示 openstreetmap 切片?

嗨 stackoverflow 社区 - 我在这里问了几件事,所以我将首先尝试详细概述我的项目:

我正在为我的打浆机吉普车(TJ,如果你必须知道的话)制作一个触摸屏,它运行在树莓派 3 A+ 上。我正在通过 GPIO 和一堆杂项小工具(如 GPS)集成 AC 控件,现在我正在尝试解决项目中最困难的部分,即下载我所在地区的 openstreetmap 图块,并使用GPS 上所说的瓷砖全部离线。非常感谢 Kivy 的开发人员,我非常喜欢用它制作 GUI,而且学习 openstreetmap 社区也非常酷。

我正在寻求一些关于如何在我的 kivy 应用程序中显示地图的方向或想法,因为有很多事情我不知道/不完全理解它们是如何工作的。

  1. 我应该使用哪些 Kivy 模块来显示图块?
  2. 我可以在 kivy 模块中嵌入 Javascript API 吗?
  3. 我必须使用 javascript,还是可以用 python 以另一种方式攻击?(看起来像一个竞争者)
  4. 我应该学习什么编码语言来补充我的 python/julia/arduino-ish 技能来帮助实现这一点?
  5. 我可以让我的树莓派假装它是我的 kivy 应用程序的 openstreetmap 服务器来 ping 平铺请求吗?

任何方向都值得赞赏,这是一个雄心勃勃的项目,但这就是让它变得有趣的原因。同样,如果你曾在 kivy 上工作过或为 openstreetmaps 做出过贡献,请给你点赞。

-费尔南多

编辑

在阅读了一些 CEFPython3 文档之后,我认为这可能是正确的方法。如果我了解它是如何工作的(请在此处纠正我),我可能会在 Kivy 的 CEF 浏览器小部件中运行 Leaflet.js,使用:

cef.ExecuteJavascript(jsCode="filepath/to/leaflet.js"),

然后使用cef.executeFunction()传递纬度和经度数据以及更新 javascript 地图对象的瓦片层?

*我引用的leaflet.js 代码在这里

*Cefpython 仓库在这里

0 投票
0 回答
277 浏览

python - 如何制作 cefpython Kivy 小部件

我正在尝试在我的 kivy 应用程序中嵌入使用 cefpython3 的浏览器 - 我不需要大量功能(我只需要浏览器为我运行一些 javascript)。

我下载了 cefpython3 repo 并让hello_world.py工作,现在我只是想让那个弹出到 kivy 小部件的窗口。

这些示例似乎已经过时了,人们说他们只在某些环境中开发 - 我必须做什么/学习制作一个小部件并将这个浏览器放在那里?

0 投票
1 回答
210 浏览

python - 我如何在 Raspberry pi 3 A+ 上获取 cefpython3

试图在树莓派 3 A+ 上安装 cefpython3,但我在所有下载/构建方向上都有些迷失了。简单地使用pip install cefpython3=66.0似乎并没有削减它。我是 linux 新手,所以我觉得一些命令对于有经验的 linux 用户来说是隐含的或第二天性,这有点超出我的 atm 范围。帮助表示赞赏。

0 投票
1 回答
71 浏览

python - 如何在 wxPython sizer 中移动 cefpython 嵌入式浏览器

我试图添加一个按钮并将浏览器面板向右移动。我想要左侧的按钮,但该按钮位于我显示的地图的顶部。这是代码http://pastie.org/p/4y8FtkR1z2mbZO3WHuSt5L

截屏

在此处输入图像描述