Если вы не хотите использовать текстовый виджет, вам не нужно.Альтернативой является использование метки и привязка к ней щелчков мыши.Несмотря на то, что это метка, она все равно реагирует на события.
Например:
import tkinter as tk
class App:
def __init__(self, root):
self.root = root
for text in ("link1", "link2", "link3"):
link = tk.Label(text=text, foreground="#0000ff")
link.bind("<1>", lambda event, text=text: self.click_link(event, text))
link.pack()
def click_link(self, event, text):
print("You clicked '%s'" % text)
root = tk.Tk()
app = App(root)
root.mainloop()
Если хотите, вы можете придумать и добавить дополнительные привязки для событий <Enter>
и <Leave>
так что вы можете изменить внешний вид, когда пользователь зависает.И, конечно, вы можете изменить шрифт так, чтобы текст был подчеркнут, если вы того пожелаете.
Tk - это замечательный инструментарий, который дает вам строительные блоки для выполнения всего, что вы хотите.Вам просто нужно смотреть на виджеты не как на набор готовых стен и дверей, а скорее как на груду поясницы, кирпича и строительного раствора.