Как создать гиперссылку с меткой в Tkinter?
Как вы создаете гиперссылка С помощью Label
в Tkinter?
быстрый поиск не показал, как это сделать. Вместо этого были только решения для создания гиперссылки в Text
виджет.
2 ответов
привязать метку "<Button-1>"
событие. Когда он поднимается callback
выполняется в результате открытия новой страницы в браузере по умолчанию.
from tkinter import *
import webbrowser
def callback(event):
webbrowser.open_new(r"http://www.google.com")
root = Tk()
link = Label(root, text="Google Hyperlink", fg="blue", cursor="hand2")
link.pack()
link.bind("<Button-1>", callback)
root.mainloop()
вы также можете открыть файлы, изменив обратный вызов на:
webbrowser.open_new(r"file://c:\test\test.csv")
альтернативно, если у вас есть несколько меток и вы хотите одну функцию для всех. Это предполагает, что у вас есть ссылка в виде текста
import tkinter as tk
import webbrowser
def callback(event):
webbrowser.open_new(event.widget.cget("text"))
root = tk.Tk()
lbl = tk.Label(root, text=r"http://www.google.com", fg="blue", cursor="hand2")
lbl.pack()
lbl.bind("<Button-1>", callback)
root.mainloop()