在Python中使用CSS的轻量级HTML渲染器

16 投票
3 回答
13714 浏览
提问于 2025-04-15 15:10

抱歉,也许我第一次没有把问题描述清楚。你们的回答都很有趣,但大部分都是功能齐全的网页浏览器,而我的任务简单得多。

我打算用Linux上可用的图形用户界面框架写一个应用程序(我还没选好哪个框架)。我会在我的应用里使用HTML来显示一些带有属性的文本,比如不同的字体,这些属性会存储在CSS里。

HTML内容将由我的应用生成,所以我只需要把HTML和CSS字符串渲染出来。有没有那种只负责渲染HTML/CSS的组件,什么额外的功能都没有——比如没有历史记录、书签、网址加载等等?如果没有的话,我会使用你们推荐的那些组件——这没问题——但我只是想知道有没有那种单纯的HTML渲染器,没有其他多余的功能。

3 个回答

0

也许你会对 HulaHop 感兴趣(它还可以和 Pyjamas 结合使用)。Mozilla 的 Prism 项目也可能对你有帮助。

0

Flying Saucer Project -- 一个可以把XHTML格式的内容转换成可视化的工具。

不是Python哦。不过,它可以很简单地从Python中调用。

16

你应该使用一个用户界面框架:

  • Qt:最简单的类是 QWebView
  • Gtk:pywebkitgtk 是最好的选择,不过你可以在 PyGTK页面找到其他的选项。
  • 在Tk中,可以使用来自 这里的TkHtml小部件。

另一个选择是通过类似下面的方式打开操作系统默认的网页浏览器:

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模块的更多信息。如果你想要一个非常轻量级的解决方案,我认为使用操作系统的浏览器是最简单的,因为它不依赖于任何框架,并且在所有平台上都能工作。使用Tk也是一个轻量的选择,不需要安装第三方框架。

撰写回答