HTML formatierung in Text?

Fragen zu Tkinter.
Antworten
Arp
User
Beiträge: 65
Registriert: Dienstag 15. März 2011, 13:21

Hallo,

Ich habe eine Tkinter text feld, und hab da text drin stehen. Dieser Text enthält HTML tags, wie z.b. Links. Ist es möglich diesen Text auch entsprechend zu formatieren? Also das ein Link z.b. wie im Browser blau angezeigt wird. Im Idealfall sollte es sogar möglich sein durch drauf klicken den Browser zu öffnen.

Ist sowas mit Tkinter Text Feldern überhaupt möglich?
Thx.
fnorb
User
Beiträge: 7
Registriert: Sonntag 5. August 2012, 11:18

Hallo Arp,

grundsätzlich ist sowas mit Tkinter möglich.
Im Text-Widget kannst mittels Tags verschiedene Textbereiche unterschiedlich formatieren, bspw. alle Links in in blau, unterstrichen und mit Cursor in Handform beim drüberfahren.

Etwas aufwändiger wird's, die URL zu jedem Link abzulegen. Du könntest bspw. jeden Link neben dem allgemeinen Link-Tag zur Formatierung noch mit einem zweiten individuellen Tag versehen, dessen Name gleichzeitig Schlüssel in einem Dictionary zu der entsprechenden Ziel-URL ist.

Schließlich bindest Du das <Button>-Event, um Mausklicks zu erfassen.

Gruß
fnorb
User
Beiträge: 7
Registriert: Sonntag 5. August 2012, 11:18

Nachtrag: vielleicht interessiert Dich ja: http://grail.sourceforge.net/.

Grail ist ein in Python+Tkinter geschriebener Webbrowser, der eine Untermenge von HTML 3 unterstützt.

Das Projekt ist zwar sehr veraltet (Python 1.5) und inzwischen stillgelegt, aber die Quellen sind immernoch (vielleicht auch nicht) verfügbar.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Zum öffnen im Browser gibt es dass Modul webbrowser.

Code: Alles auswählen

import webbrowser
webbrowser.open('http://google.de')
666 Beitrag
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Antworten