鱼C论坛

 找回密码
 立即注册
查看: 959|回复: 6

[已解决]Tkinter 添加下划线

[复制链接]
发表于 2023-11-25 16:47:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


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

  1. from tkinter import *
  2. root=Tk()
  3. b=Button(root,
  4.          text="北京市的著名立交桥",
  5.          font=("汉仪橄榄体简","26"),
  6.          foreground="indigo",
  7.          background="mistyrose",
  8.          activeforeground="maroon",
  9.          activebackground="honeydew",
  10.          underline=(0-2))
  11. b.pack(expand=True)
  12. mainloop()
复制代码
最佳答案
2023-11-25 17:36:55
dragov 发表于 2023-11-25 16:53
如果只在“北”字添加下划线就行,怎么“北京市”就不行了 ?

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

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-25 16:47:15 | 显示全部楼层
在Tkinter中,要给文字添加下划线,可以使用`Label`组件来实现。下面是一个示例代码:
  1. from tkinter import *
  2. root = Tk()
  3. label_text = "北京市的著名立交桥"
  4. frame = Frame(root)
  5. frame.pack()
  6. # 创建一个具有下划线的Label
  7. label = Label(frame, text=label_text,
  8.               font=("汉仪橄榄体简", 26),
  9.               foreground="indigo",
  10.               background="mistyrose",
  11.               activeforeground="maroon",
  12.               activebackground="honeydew")
  13. label.pack()
  14. # 在指定位置添加下划线
  15. underline_index = label_text.index("北京市")
  16. label.configure(text=label_text[:underline_index] + "_" + label_text[underline_index:])
  17. root.mainloop()
复制代码

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

这样就可以在"北京市"这个文字下面添加一个下划线了。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-25 16:53:09 | 显示全部楼层
FishC_GPT 发表于 2023-11-25 16:47
在Tkinter中,要给文字添加下划线,可以使用`Label`组件来实现。下面是一个示例代码:
  1. from tkinter import *
  2. root=Tk()
  3. b=Button(root,
  4.          text="北京市的著名立交桥",
  5.          font=("汉仪橄榄体简","26"),
  6.          foreground="indigo",
  7.          background="mistyrose",
  8.          activeforeground="maroon",
  9.          activebackground="honeydew",
  10.          underline=0)
  11. b.pack(expand=True)
  12. mainloop()
复制代码


如果只在“北”字添加下划线就行,怎么“北京市”就不行了 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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_text[underline_index + 1:]label.configure(text=label_text_with_underline)root.mainloop()在上述代码中,我们首先创建了一个`Frame`容器,然后在其内部创建了一个`Label`标签来显示文本。通过设置`Label`的属性,我们可以定义字体、前景色、背景色等样式。然后,我们使用`label_text.index("北")`定位要添加下划线的位置,并将该位置前一个字符和后一个字符用下划线连接起来。最后,我们将新的文本设置给`Label`,实现了在"北"字下面添加下划线的效果。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-25 17:36:55 | 显示全部楼层    本楼为最佳答案   
dragov 发表于 2023-11-25 16:53
如果只在“北”字添加下划线就行,怎么“北京市”就不行了 ?

在Tkinter中,无法直接为一个连续的字符串添加多个下划线。只能为按钮文本中的单个字符添加下划线。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-25 20:05:35 | 显示全部楼层
liuhongrun2022 发表于 2023-11-25 17:36
在Tkinter中,无法直接为一个连续的字符串添加多个下划线。只能为按钮文本中的单个字符添加下划线。


哦,是这样啊!谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-25 21:27:29 From FishC Mobile | 显示全部楼层
dragov 发表于 2023-11-25 20:05
哦,是这样啊!谢谢啦

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 17:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表