Search code examples
python-3.xtkinter

How to display rendered html content in text widget of tkinter in python 3.4.x


I want to display my mails as it is in text widget of tkinter in python 3.4. It can be printed as HTML formatted way by using message.HTMLBody. How do I render it in my text widget and display the content


Solution

  • I've managed to render simple html tags using tkhtml.

    Install using pip3 install tkinterhtml, then, using the package example:

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

    If you want to directly render a webpage, you can do this to request and render it:

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

    Hope it helps :)