Ich habe ein Modul geschrieben, dass eine Dokumentation implementiert, wie man sie bei umfangreichen Programmen sieht. Wie es aussieht?
Es hat eine Listbox auf der linken Seite der Tk-Applikation und ein Text Widget auf der rechten Seite. Klickt man auf einen Eintrag der Listbox, erscheint die dazugehörige Beschreibung im Text Widget.
So weit so gut, funktioniert auch alles.
Nun hatte ich die Idee, Links in das Text-Widget einzubauen, die in Wirklichkeit Tags sind, und dessen foreground blau ist, damit es wie ein Link aussieht. Ein Link in dem Text-Widget soll zu anderen Thema weiterleiten. Man kennt das aus Wikipedia.
Da man auf den Link klicken muss, musste ich ein Event an den Tag binden, mein Beispiel dafür ist unten.
Problem ist, dass die Funktion, die aufgerufen wird, wenn man auf den Link klickt, nicht zeigt, an welcher Position im text Widget geklickt wurde, was ich aber benötige, um zu wissen, welcher Link angeklickt wurde im Text-Widget. (In meinem Skript kann man natürlich mehrere Links im selben Text erstellen!)
Kennt dazu jemand die Lösung?
Denke nicht, dass ihr den kompletten Quelltext benötigt, wenn doch, dann poste ich ihn hier.
Code: Alles auswählen
text = Text(self.tk)
...
self.text.tag_add(tagname, index1, index2)
self.text.tag_config(tagname, foreground="blue")
self.text.tag_bind(tagname, "<Enter>", self.aendereCursor)
self.text.tag_bind(tagname, "<Leave>", self.normalerCursor)
self.text.tag_bind(tagname, "<Button-1>", self.verlinken)
Viele Grüße Markus

Danke schon mal im Voraus!