我正在使用QTextBrowser来显示静态html文档。我想在这些文档中嵌入表单,但我似乎无法弄清楚如何使用python或pyqt处理这些表单。我正在构建的应用程序是一个桌面应用程序,所以QWebView不是一个选项。
答案 0 :(得分:0)
考虑您是否需要在HTML中执行此操作。如果你不这样做,那就容易多了。如果可能,请使用标准Qt表单组件。
如果出于某种原因, 需要在包含HTML表单的实际HTML文档中执行此操作,则无法使用QTextBrowser执行此操作。请注意,QTextBrowser的功能有限;它不是一个完整的浏览器,而只是使用一个相当高级的富文本渲染器,它支持HTML中的大部分需要简单显示的东西。它不支持的两个重要事项是JavaScript和表单。 QWebView和QtWebkit包中的其他东西正在使用带有所有修剪(WebKit)的完整HTML渲染器,因此您可以使用来自它们的表单之类的东西并获得更多交互。您将能够为其提供本地路径(或使用Qt资源),因此它是“桌面应用程序”无关紧要,然后您可以通过JavaScript将表单数据从页面提供给您的应用程序。但是你已经丢掉了已经为你做过的大量工作。
如果可能,只需使用标准Qt小部件构建表单。
答案 1 :(得分:0)
Form Extractor Example 在[pythondir] \ Lib \ site-packages \ PyQt4 \ examples \ webkit \ formextractor中查看pythonic版本。这应该与PyQt一起安装
答案 2 :(得分:-1)
考虑在桌面应用程序中实现Python服务器(例如,阅读SimpleHTTPServer模块here)。
您可以将“静态html”或包含页面的表单“提供”到应用程序中的浏览器(从“localhost / ...”请求页面)并接收获取或发布请求。