dragov 发表于 2023-11-25 16:47:03

Tkinter 添加下划线



需要在“北京市”添加下划线

from tkinter import *
root=Tk()
b=Button(root,
         text="北京市的著名立交桥",
         font=("汉仪橄榄体简","26"),
         foreground="indigo",
         background="mistyrose",
         activeforeground="maroon",
         activebackground="honeydew",
         underline=(0-2))
b.pack(expand=True)
mainloop()

FishC_GPT 发表于 2023-11-25 16:47:15

在Tkinter中,要给文字添加下划线,可以使用`Label`组件来实现。下面是一个示例代码:

from tkinter import *

root = Tk()

label_text = "北京市的著名立交桥"

frame = Frame(root)
frame.pack()

# 创建一个具有下划线的Label
label = Label(frame, text=label_text,
            font=("汉仪橄榄体简", 26),
            foreground="indigo",
            background="mistyrose",
            activeforeground="maroon",
            activebackground="honeydew")
label.pack()

# 在指定位置添加下划线
underline_index = label_text.index("北京市")
label.configure(text=label_text[:underline_index] + "_" + label_text)

root.mainloop()

在上述代码中,我们首先创建了一个`Frame`容器,然后在其内部创建了一个`Label`标签来显示文本。通过设置`Label`的属性,我们可以定义字体、前景色、背景色等样式。最后,我们使用`label_text.index("北京市")`定位要添加下划线的位置,并将该位置前后两部分的文字进行拼接,在指定位置处添加了一个下划线。

这样就可以在"北京市"这个文字下面添加一个下划线了。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

dragov 发表于 2023-11-25 16:53:09

FishC_GPT 发表于 2023-11-25 16:47
在Tkinter中,要给文字添加下划线,可以使用`Label`组件来实现。下面是一个示例代码:




from tkinter import *
root=Tk()
b=Button(root,
         text="北京市的著名立交桥",
         font=("汉仪橄榄体简","26"),
         foreground="indigo",
         background="mistyrose",
         activeforeground="maroon",
         activebackground="honeydew",
         underline=0)
b.pack(expand=True)
mainloop()

如果只在“北”字添加下划线就行,怎么“北京市”就不行了 ?

FishC_GPT 发表于 2023-11-25 16:53:22

dragov 发表于 2023-11-25 16:53
bg4.png
from tkinter import *
root=Tk()
b=Butto ...

在Tkinter中,`underline`属性只能设置单个字符的下划线位置。如果想要只在"北"字添加下划线,可以使用`Label`组件来实现。下面是一个示例代码:from tkinter import *root = Tk()label_text = "北京市的著名立交桥"frame = Frame(root)frame.pack()# 创建一个Labellabel = Label(frame, text=label_text,            font=("汉仪橄榄体简", 26),            foreground="indigo",            background="mistyrose",            activeforeground="maroon",            activebackground="honeydew")label.pack()# 在指定位置添加下划线underline_index = label_text.index("北")label_text_with_underline = label_text[:underline_index] + "_" + label_textlabel.configure(text=label_text_with_underline)root.mainloop()在上述代码中,我们首先创建了一个`Frame`容器,然后在其内部创建了一个`Label`标签来显示文本。通过设置`Label`的属性,我们可以定义字体、前景色、背景色等样式。然后,我们使用`label_text.index("北")`定位要添加下划线的位置,并将该位置前一个字符和后一个字符用下划线连接起来。最后,我们将新的文本设置给`Label`,实现了在"北"字下面添加下划线的效果。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

liuhongrun2022 发表于 2023-11-25 17:36:55

dragov 发表于 2023-11-25 16:53
如果只在“北”字添加下划线就行,怎么“北京市”就不行了 ?

在Tkinter中,无法直接为一个连续的字符串添加多个下划线。只能为按钮文本中的单个字符添加下划线。

dragov 发表于 2023-11-25 20:05:35

liuhongrun2022 发表于 2023-11-25 17:36
在Tkinter中,无法直接为一个连续的字符串添加多个下划线。只能为按钮文本中的单个字符添加下划线。



哦,是这样啊!谢谢啦

liuhongrun2022 发表于 2023-11-25 21:27:29

dragov 发表于 2023-11-25 20:05
哦,是这样啊!谢谢啦

求最佳答案
页: [1]
查看完整版本: Tkinter 添加下划线