Underline Text in Tkinter Label widget?

后端 未结 7 733
天命终不由人
天命终不由人 2020-12-20 12:30

I am working on a project that requires me to underline some text in a Tkinter Label widget. I know that the underline method can be used, but I can only seem to get it to u

相关标签:
7条回答
  • 2020-12-20 13:04
    mylabel = Label(frame, text = "my label")
    mylabel.configure(font="Verdana 15 underline")
    
    0 讨论(0)
  • 2020-12-20 13:08

    For those working on Python 3 and can't get the underline to work, here's example code to make it work.

    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)
    
    0 讨论(0)
  • 2020-12-20 13:09

    Try this for underline:

    mylbl=Label(Win,text='my Label',font=('Arial',9,'bold','underline'))
    mylbl.grid(column=0,row=1)
    
    0 讨论(0)
  • 2020-12-20 13:15

    To underline all the text in a label widget you'll need to create a new font that has the underline attribute set to True. Here's an example:

    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()
    
    0 讨论(0)
  • 2020-12-20 13:17

    To underline all the characters you should import tkinter.font and make your own font style with this. Example-

    from tkinter import *
    from tkinter.font import Font
    rt=Tk()
    myfont=Font(family="Times",size=20,weight="bold", underline=1)
    Label(rt,text="it is my GUI".title(),font=myfont,fg="green").pack()
    rt.mainloop()
    
    0 讨论(0)
  • 2020-12-20 13:21

    oneliner

    mylabel = Label(frame, text = "my label", font="Verdana 15 underline")
    
    0 讨论(0)
提交回复
热议问题