【问题标题】:How to display rendered html content in text widget of tkinter in python 3.4.x如何在 python 3.4.x 的 tkinter 的文本小部件中显示渲染的 html 内容
【发布时间】:2016-05-07 03:51:51
【问题描述】:

我想在 python 3.4 的 tkinter 的文本小部件中显示我的邮件。 可以使用message.HTMLBody 将其打印为 HTML 格式的方式。如何在我的文本小部件中呈现它并显示内容

【问题讨论】:

标签: python-3.x tkinter


【解决方案1】:

我已经设法使用tkhtml 呈现简单的 html 标签。

使用pip3 install tkinterhtml 安装,然后使用package example

from tkinterhtml import HtmlFrame

frame = HtmlFrame(root, horizontal_scrollbar="auto")
 
frame.set_content("<html></html>")
 

如果你想直接渲染一个网页,你可以这样请求并渲染它:

import urllib
frame.set_content(urllib.request.urlopen("https://duckduckgo.com").read().decode())

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    除了非常基本的 HTML tkinter 之外的任何内容都不是为此而构建的。 tkhtml 是一种选择,但除了基本 html 之外的任何内容,您都希望在别处查看。 Tk 可以做很多令人惊奇的事情,但嵌入网页/内容并不是其中之一。

    如果您只想要邮件中的文本/一些基本图像/格式,那么您可以抓取数据,然后通过标准 tk 小部件呈现和格式化。

    我不太喜欢推荐其他包/选项,因为它往往是自以为是的,但请查看 PyQt。具体来说,QtWebkit。

    【讨论】:

    • 你能帮我提供一个 tkhtml 的示例代码吗?谢谢
    • 听起来 tkinter 能够渲染 Wiki 页面 html,与 Wikipedia 页面相当。你知道html表单吗?
    • 如果你的意思是在 html 表单中显示表单,那么在表单中是的......我已经构建了大量的 GUI 来解析表单的 html 并通过 tk 小部件等动态重新创建它们,然后发送出于网络抓取目的而关闭数据
    • 所以html里面的javascript不会显示?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多