使用 webview 和 WxPython 提取和显示信息



我正在创建一个应用程序,其中UI是使用WxPython形成的。我正在使用带有 HTML 窗口的面板。

在显示的这个HTML页面中,我想提取信息,例如文本框的文本,选择哪个单选按钮,单击按钮等,同时向用户显示一些信息,例如何时完成过程及其结果或类似信息。

我没有找到一个好的方法,只要我能理解,我就需要使用 Javascript 或其他东西以某种方式与页面交互。但是我找不到如何向页面发送和接收信息,以及wx.html.HtmlWindow是否支持Javascript。

最好的方法是什么?

您可以通过套接字进行通信。在 python 端创建一个本地套接字服务器,然后使用 javascript 连接到该套接字。网络上有很多这样的例子。请参阅 python 套接字服务器的文档:https://docs.python.org/2/library/socketserver.html

看起来 wx.html 模块不支持 javascript 或 css:

此模块包含一个小部件类和一个通用 HTML 渲染器的支持类。它只支持HTML标准的子集,没有Javascript或CSS,但它相对轻量级,没有平台依赖关系。它适用于显示简单的 HTML 文档,例如应用程序的文档或内置帮助页面。

看起来您可以处理EVT_HTML_LINK_CLICKED事件来判断用户何时单击链接,但我不确定您将如何从文本框、单选按钮等 html 表单元素中获取输入。

最好的办法可能是使用 Flask 等微框架创建一个 Web 应用程序,并在本地提供该应用程序。