【问题标题】:Light-weight renderer HTML with CSS in Python在 Python 中使用 CSS 的轻量级渲染器 HTML
【发布时间】:2010-12-07 22:35:57
【问题描述】:

抱歉,也许我第一次没有很好地描述这个问题。你所有的答案都很有趣,但大多数都是几乎全功能的网络浏览器,我的任务要简单得多。

我打算使用 linux GUI 框架中的一种(我还没有选择)来编写一个 GUI 应用程序。我将在我的应用程序中使用 html 来渲染我的应用程序框架文本之一,其中包含一些属性——不同的字体等,这些属性存储在 CSS 中。

HTML 应由我的应用程序生成,因此唯一的任务是呈现 HTML / CSS 字符串。是否有任何小部件只能进行渲染,仅此而已——没有历史记录、没有书签、没有 URL 加载等?如果没有,我将使用您建议的其中一个 - 没关系 - 但我只是对没有任何额外功能的 html 渲染器感兴趣。

【问题讨论】:

  • QWebView 应该是你要找的,即渲染 html。你看过我链接的文档吗?
  • 是的,我做到了。这不是我想要的:它几乎是一个能够加载页面、存储历史等的网络浏览器。无论如何,谢谢你,如果我没有找到任何其他解决方案,我会使用它
  • 也许 QWebPage 可以解决问题,但我从未尝试过。
  • 这个问题有更新的答案吗?

标签: python html browser


【解决方案1】:

也许HulaHop 对您来说可能很有趣(也可以与Pyjamas 结合使用)。 Mozilla Prism 项目也可能是相关的。

【讨论】:

    【解决方案2】:

    Flying Saucer Project -- 一个 XHTML 渲染器。

    不,它不是 Python。但是,它是从 Python 中简单调用的。

    【讨论】:

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

    您应该使用 UI 框架:

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

    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 模块 here 的更多信息。我认为如果您正在寻找非常轻量级的东西,最简单的方法是使用 os 浏览器,因为它不依赖于框架并且可以在所有平台上运行。使用 Tk 可能是另一个轻量级的选项,并且不需要安装 3rd 方框架。

    【讨论】:

    • 不要忘记 WxPython (wxpython.org):该演示展示了如何在 Windows 上嵌入 Internet Explorer,在 Mac 上嵌入 WebKit...
    • @PhilS Internet Explorer 在 linux 上不可用)也很重
    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 2011-04-25
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2012-06-26
    相关资源
    最近更新 更多