问题 使用Python的CSS轻量级渲染器HTML


对不起,也许我没有第一次描述这个问题。你的所有答案都很有趣,但大多数都是功能齐全的网页浏览器,我的任务更简单。

我打算用一个可用的linux GUI框架编写一个GUI应用程序(我还没有选择一个)。我将在我的应用程序中使用html渲染到我的应用程序框架文本中的一些属性 - 不同的字体等,它们存储在CSS中。

HTML应由我的应用程序生成,因此唯一的任务是呈现HTML / CSS字符串。是否有任何窗口小部件只能进行渲染,而不是更多 - 没有历史记录,没有书签,没有URL加载等?如果没有,我会使用你建议的那个 - 这没关系 - 但我只是感兴趣,如果只有一个没有任何额外功能的html渲染器。


10340
2017-10-19 09:03


起源

QWebView应该是您正在寻找的,即渲染html。你看过我链接的文件了吗? - mandel
是啊,我做了。这不是我想要的:它几乎是一个能够加载页面,存储历史等的网络浏览器。无论如何,谢谢你,如果我找不到任何其他解决方案,我将使用它 - netimen
也许QWebPage可能会做到这一点,但我从未尝试过。 - mandel


答案:


您应该使用UI框架:

另一种选择是通过以下方式打开操作系统默认Web浏览器:

import webbrowser
url = 'http://www.python.org'

# Open URL in a new tab, if a browser window is already open.
webbrowser.open_new_tab(url + '/doc')

# Open URL in new window, raising the window if possible.
webbrowser.open_new(url)

您可以找到有关webbrowser模块的更多信息 这里。我认为最简单的方法是使用os浏览器,如果你正在寻找一些非常轻量级的东西,因为它不依赖于框架,它可以在所有平台上运行。使用Tk可能是另一个很轻的选项,不需要安装第三方框架。


13
2017-10-19 09:21



不要忘记WxPython(wxpython.org):该演示展示了如何在Windows上嵌入Internet Explorer和在Mac上嵌入WebKit ...... - PhilS
@PhilS Internet Explorer在Linux上不可用)也很重 - netimen
这是Tkhtml的包装器: pypi.python.org/pypi/tkinterhtml - Aivar


飞碟项目  - XHTML渲染器。

不,这不是Python。然而,它 - 从Python中简单地调用。


0
2017-10-19 10:27



我可以将它嵌入我的python应用程序中吗? - netimen
@netimen:我无法理解你的问题。你是什​​么意思“嵌入”?飞碟是Java。您可以从Python中轻松调用Java程序。那会被“嵌入”吗?您可以使用Jython JVM来运行这两个组件。那会被“嵌入”吗? - S.Lott
我的意思是我想将html渲染到我的应用程序窗口中 - 我可以这样做吗? - netimen
嗯......我真的不明白你的问题。如果你有一个“应用程序”,它有窗户,框架和面板,对吗?几乎所有GUI框架都具有HTML呈现功能。由于您的问题未提及您正在使用的框架,请更新您的问题以明确说明您的应用程序正在使用哪个GUI框架。如果您的应用程序未使用GUI框架,请更新您的问题以解释您正在做什么。 - S.Lott
对不起,解释不好。我没有提到任何框架,因为我目前只计划我的应用程序,所以我还没有选择框架。但应该有窗户和面板的应用程序。问题是GUI frmaework的html渲染功能要么太弱(wx.HtmlWindow不支持CSS),要么太强(pywebkitgtk是一个全功能的浏览器)。我试图找到一个很好的平衡点 - netimen


也许 HulaHop 对你来说可能很有趣(也可以结合使用 睡衣)。 Mozilla 棱镜 项目也可能是相关的。


0
2017-10-19 12:40