菜鸟IT的博客 >> Python
tkinter.Text组件里的文本文字增加tag标签标记,然后增加鼠标键盘事件,绑定对应的webbrowser.open("https://www.baidu.com")
# -*- coding: utf-8 -*-
# Tags(标签) 用于改变tkinter.Text组件中的样式和功能。
# 你可以改变文本的字体、尺寸、颜色。
# Tags还允许你将文本、嵌入的组件和图片与键盘事件或者鼠标事件绑定关联在一起。
# 除了 user-defined-tags,就是用户自定义的tags不支持关联、
# 还有1个预定的特殊Tag: SEL
# SEL或者“sel”用于表示对应的 选中内容。
# Text组件里的任何文本内容都支持多个Tags描述。
import tkinter
import webbrowser
#################################################
win1=tkinter.Tk()
#################################################
text1=tkinter.Text(win1,width=50,height=30)
text1.pack()
#################### ↓ 插入文本 ↓ ########################
text1.insert(tkinter.INSERT,"我爱python编程!")
#################### ↓ 根据文本坐标位置标记 ↓ ########################
# 1.7的意思:第1行第2个作为开始,就是从p开始标记
# 1.2的意思:第1行第8个作为结束,
# 1.8 的意思:单独的标记参数,只表示1个字母
text1.tag_add("link","1.2","1.8")
#################### ↓ 根据文本属性的赋值 ↓ ########################
# foreground 代表字体颜色。
# 给标记坐标的文字加链接,绑定事件。
text1.tag_config("link",foreground="blue",background="yellow",underline=True)
#################### ↓ 给这个链接绑定1个【左键移动】事件。 ↓ ########################
def show_ShuBiaoLeftJon_cursor(event): # 这个函数一定要在里面加1个event变量。
text1.config(cursor="hand2")
text1.tag_bind("link","<Enter>",show_ShuBiaoLeftJon_cursor)
#################### ↓ 给这个链接绑定1个【左键离开】事件。 ↓ ########################
def show_ShuBiaoLeftJleave_cursor(event): # 这个函数一定要在里面加1个event变量。
text1.config(cursor="xterm")
text1.tag_bind("link","<Leave>",show_ShuBiaoLeftJleave_cursor)
#################### ↓ 给这个链接绑定1个【左键离开】事件。 ↓ ########################
def click(event): # 这个函数一定要在里面加1个event变量。
webbrowser.open("https://www.17wx.net")
text1.tag_bind("link","<Button-1>",click)
#################################################
win1.mainloop()
菜鸟IT博客[2022.03.04-15:29] 访问:227