2016-05-07 2 views
2

anzuzeigen Ich möchte meine E-Mails anzeigen, wie es in Text Widget von Tkinter in Python 3.4 ist. Es kann als HTML-formatierte Weise mit message.HTMLBody gedruckt werden. Wie rende ich es in meinem Text-Widget und zeigen Sie den InhaltWie gerenderten HTML-Inhalt in Text Widget von tkinter in Python 3.4.x

+0

Mögliche Duplikat [Python tkinter mit einem einfachen Web-Wrapper] (http://stackoverflow.com/questions/14706069/python-tkinter-with-a-simple-web-wrapper) – cpburnz

Antwort

2

Kurz von allem vergangenen sehr einfachen HTML tkinter war einfach nicht dafür gebaut. Es gibt tkhtml als eine Option, aber alles, was hinter grundlegenden HTML ist, werden Sie woanders suchen. Tk kann viele erstaunliche Dinge tun, aber das Einbetten von Webseiten/Inhalten ist nicht wirklich einer von ihnen.

Wenn Sie nur den Text/einige grundlegende Bilder/Formatierung von Ihrer E-Mail möchten, dann können Sie die Daten abkratzen und dann rendern und formatieren sie über die Standard tk Widgets.

Ich mag nicht wirklich andere Pakete/Optionen zu empfehlen, da es tendenziell sehr eigensinnig ist, aber schauen Sie sich PyQt. Insbesondere das QtWebkit.

+0

kannst du mir mit einem Beispielcode von tkhtml helfen? Danke –

+0

Es klingt wie tkinter wäre in der Lage, Wiki-Seite HTML, etwas auf Augenhöhe mit Wikipedia-Seiten. Kennen Sie HTML-Formulare? – user12711

+0

Wenn Sie Display-Formulare wie in HTML-Formularen dann in einer Form ja ... ich habe viele GUI's, die das HTML für Formulare analysieren und dynamisch durch tk Widgets etc. neu erstellt und dann sendet die Daten für Web-Scraping-Zwecken – Pythonista

0

Ich habe es geschafft, einfache HTML-Tags machen mit tkhtml

nur pip3 install tkinterhtml

und aus dem Paket example:

from tkinterhtml import HtmlFrame 

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

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

Wenn Sie den Inhalt in einer Datei speichern, oder manuell eingeben. ODER:

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

um es anzufordern und zu rendern.

Hoffe, es hilft :)

Verwandte Themen