如何在python 3.4.x中的tkinter文本小部件中显示渲染的html内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python 3.4.x中的tkinter文本小部件中显示渲染的html内容相关的知识,希望对你有一定的参考价值。

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

答案

我设法使用tkhtml渲染简单的html标签。

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

from tkinterhtml import HtmlFrame

frame = HtmlFrame(root, horizontal_scrollbar="auto")

frame.set_content("<html></html>")

如果要直接呈现网页,可以执行此操作以请求和呈现它:

frame.set_content(urllib.request.urlopen("http://thonny.cs.ut.ee").read().decode())

希望能帮助到你 :)

另一答案

没有任何过去非常基本的HTML tkinter就不是为此而构建的。有tkhtml作为一个选项,但任何过去基本的HTML,你会想看到其他地方。 Tk可以做很多令人惊奇的事情,但嵌入网页/内容实际上不是其中之一。

如果您只想从邮件中获取文本/一些基本图像/格式,那么您可以抓取数据,然后通过标准tk小部件进行渲染和格式化。

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

以上是关于如何在python 3.4.x中的tkinter文本小部件中显示渲染的html内容的主要内容,如果未能解决你的问题,请参考以下文章

python tkinter的Text控件,如何实现插入文本后将光标自动移动到行尾

python tkinter 如何获取文本框中的内容?

python tkinter如何设置组件在窗口中的位置,比如说一个按钮,我希望这个按钮在窗口的左边,上边………

我如何使用python将终端输出到网格中的tkinter框架?

Python / Tkinter如何更新网格中的信息

如何从 .get() 传输数据,这将导致从 Tkinter 中删除文本行