Python:如何将Tkinter文本标签与信息相关联并在事件中访问它们?

用户名

我在tkinter中使用了文本小部件,并已将一些标签与之关联:

textw.tag_config( "err", background="pink" );

textw.tag_bind("err", '<Motion>', self.HoverError);

基本上所有包含错误的文本都用“ err”标记。现在,我想使用悬停的标签访问相关的错误消息,但是我不知道如何知道悬停了哪个标签。

def HoverError( self, event ):
   # Get error information

如果我可以提取悬停标签的范围,则可以解决。关于如何实现此目标的任何想法?

地图学家

Motion event具有与其相关联的属性,并且这些中的一个是x,鼠标的y坐标。Text插件可以解释这些坐标作为索引,这样你就可以在鼠标使用抢最近索引标签的实例tag_prevrange方法。

这是一个例子:

def hover_over(event):

    # get the index of the mouse cursor from the event.x and y attributes
    xy = '@{0},{1}'.format(event.x, event.y)

    # find the range of the tag nearest the index
    tag_range = text.tag_prevrange('err', xy)

    # use the get method to display the results of the index range
    print(text.get(*tag_range))


root = Tk()

text = Text(root)
text.pack()

text.insert(1.0, 'This is the first error message ', 'err')
text.insert(END, 'This is a non-error message ')
text.insert(END, 'This is the second error message ', 'err')
text.insert(END, 'This is a non-error message ')
text.insert(END, 'This is the third error message', 'err')

text.tag_config('err', background='pink')
text.tag_bind('err', '<Enter>', hover_over)

root.mainloop()

tag_prevrange如果两个标签相互碰撞,方法将给您带来不想要的结果(它将搜索到标签的末尾,因为不会自然中断),但是根据您插入Text窗口小部件的方式,此方法可能不会成为一个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将xml文本与Python中的先前空元素相关联?

来自分类Dev

如何将集合中的文本文件与fs集合中的图像相关联?

来自分类Dev

无法将图像与tkinter标签相关联

来自分类Dev

如何将Docker映像列表与API返回的标签列表相关联?

来自分类Dev

如何将github问题与分支相关联?

来自分类Dev

如何将各个按钮与各个div相关联?

来自分类Dev

如何将路线与包裹相关联?

来自分类Dev

如何将torrent文件与Vuze相关联?

来自分类Dev

如何将音频数据与时间相关联

来自分类Dev

如何将图片与商品ID相关联

来自分类Dev

VersionOne SDK:如何将缺陷与Epic相关联?

来自分类Dev

如何将概率分布与代理相关联 - Anylogic

来自分类Dev

将信息框与图像相关联

来自分类Dev

处理html中的文本:将属性与句子相关联

来自分类Dev

如何将多个ID与MS SQL Server中的单个行相关联?

来自分类Dev

如何将第一列中的名称与重复行相关联?

来自分类Dev

如何将rgb值与透视投影中的像素位置相关联?

来自分类Dev

您如何将.exe文件扩展名与Windows中的程序相关联?

来自分类Dev

如何将传单标记与数据库中的对象ID相关联

来自分类Dev

如何将属性与Redis Store中的socket.io对象相关联?

来自分类Dev

如何将密钥文件与FileZilla中的站点相关联

来自分类Dev

如何将本机应用程序与WINE中的文件类型相关联

来自分类Dev

如何将软件与ServiceNow中的服务器CI相关联?最佳实践

来自分类Dev

如何将列表与c#中的每个枚举项相关联

来自分类Dev

如何将数据与 .NET Core 中的 SignalR 连接相关联?

来自分类Dev

如何将在 java 上创建的新文本视图与其在 android studio 中的 xml 特征相关联?

来自分类Dev

如何将 Datadog 中的指标与 Flink 中的执行计划运算符相关联?

来自分类Dev

如何将CUDA核函数中的内核输入数据结构与pycuda中的参数输入相关联

来自分类Dev

如何将Wine中的所有文件类型与其相应的本机应用程序相关联?

Related 相关文章

  1. 1

    如何将xml文本与Python中的先前空元素相关联?

  2. 2

    如何将集合中的文本文件与fs集合中的图像相关联?

  3. 3

    无法将图像与tkinter标签相关联

  4. 4

    如何将Docker映像列表与API返回的标签列表相关联?

  5. 5

    如何将github问题与分支相关联?

  6. 6

    如何将各个按钮与各个div相关联?

  7. 7

    如何将路线与包裹相关联?

  8. 8

    如何将torrent文件与Vuze相关联?

  9. 9

    如何将音频数据与时间相关联

  10. 10

    如何将图片与商品ID相关联

  11. 11

    VersionOne SDK:如何将缺陷与Epic相关联?

  12. 12

    如何将概率分布与代理相关联 - Anylogic

  13. 13

    将信息框与图像相关联

  14. 14

    处理html中的文本:将属性与句子相关联

  15. 15

    如何将多个ID与MS SQL Server中的单个行相关联?

  16. 16

    如何将第一列中的名称与重复行相关联?

  17. 17

    如何将rgb值与透视投影中的像素位置相关联?

  18. 18

    您如何将.exe文件扩展名与Windows中的程序相关联?

  19. 19

    如何将传单标记与数据库中的对象ID相关联

  20. 20

    如何将属性与Redis Store中的socket.io对象相关联?

  21. 21

    如何将密钥文件与FileZilla中的站点相关联

  22. 22

    如何将本机应用程序与WINE中的文件类型相关联

  23. 23

    如何将软件与ServiceNow中的服务器CI相关联?最佳实践

  24. 24

    如何将列表与c#中的每个枚举项相关联

  25. 25

    如何将数据与 .NET Core 中的 SignalR 连接相关联?

  26. 26

    如何将在 java 上创建的新文本视图与其在 android studio 中的 xml 特征相关联?

  27. 27

    如何将 Datadog 中的指标与 Flink 中的执行计划运算符相关联?

  28. 28

    如何将CUDA核函数中的内核输入数据结构与pycuda中的参数输入相关联

  29. 29

    如何将Wine中的所有文件类型与其相应的本机应用程序相关联?

热门标签

归档