2014-05-05 17 views

risposta

16

Associare l'etichetta all'evento "<Button-1>". Quando viene sollevato, viene eseguito lo callback e il risultato è una nuova apertura della pagina nel browser predefinito.

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() 

Si può anche aprire i file cambiando il callback:

webbrowser.open_new(r"file://c:\test\test.csv") 
+1

+ Peregrinius Cosa fa la 'r' nell'argomento 'open_new'? –

+1

Rende letterale la stringa. Quindi non devi scappare dai backslash. –

+0

@JamesBurke come si può applicare questa soluzione se si dispone di due etichette che si desidera creare collegamenti? –

5

In alternativa, se si dispone di più le etichette e desidera che la sola funzione per tutti. Questo presuppone che tu abbia il link come il testo

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() 
Problemi correlati