¿Subrayar texto en el widget de etiqueta Tkinter?

Estoy trabajando en un proyecto que me obliga a subrayar un texto en un widget de etiqueta Tkinter. Sé que se puede usar el método de subrayado, pero parece que solo puedo hacerlo para subrayar 1 carácter del widget, según el argumento. es decir

p = Label(root, text=" Test Label", bg='blue', fg='white', underline=0) change underline to 0, and it underlines the first character, 1 the second etc 

Necesito poder subrayar todo el texto en el widget, estoy seguro de que esto es posible, pero ¿cómo?

Estoy usando Python 2.6 en Windows 7.

Para subrayar todo el texto en un widget de etiqueta, deberá crear una nueva fuente que tenga el atributo de subrayado establecido en Verdadero. Aquí hay un ejemplo:

 import Tkinter as tk import tkFont class App: def __init__(self): self.root = tk.Tk() self.count = 0 l = tk.Label(text="Hello, world") l.pack() # clone the font, set the underline attribute, # and assign it to our widget f = tkFont.Font(l, l.cget("font")) f.configure(underline = True) l.configure(font=f) self.root.mainloop() if __name__ == "__main__": app=App() 

Para aquellos que trabajan en Python 3 y no pueden hacer que el subrayado funcione, aquí hay un código de ejemplo para que funcione.

 from tkinter import font # Create the text within a frame pref = Label(checkFrame, text = "Select Preferences") # Pack or use grid to place the frame pref.grid(row = 0, sticky = W) # font.Font instead of tkFont.Fon f = font.Font(pref, pref.cget("font")) f.configure(underline=True) pref.configure(font=f)