免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8252 | 回复: 9

怎样获取tkinter.Text控件中鼠标点击位置所在的行号? [复制链接]

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
发表于 2014-07-03 12:33 |显示全部楼层
我想在Text控件中添加一个右键菜单,在这个右键菜单中添加一个功能,对右键所点击的位置所在的行的文本进行处理,怎样获取这行文本的行号?

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
发表于 2014-07-07 12:47 |显示全部楼层
@timespace呼唤大神。

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
发表于 2014-07-07 12:49 |显示全部楼层
@cdhigh呼唤大神前来相助。

论坛徽章:
0
发表于 2014-07-07 13:06 |显示全部楼层
不必一定要用行号吧?你对每个text文本控件bind '<ButtonRelease-3>',不就可以对之操作了?
另外我有个相似的多行文本,是用listbox实现的,里面有行号操作.

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
发表于 2014-07-07 21:07 |显示全部楼层
回复 4# aswjh


    求详解。我的目的只是为了在右键菜单中添加一个功能,这个功能是对右键位置这一行的文本进行处理。

论坛徽章:
0
发表于 2014-07-07 21:16 |显示全部楼层
获取当前行号和列号都不复杂啊,毕竟这个是任何一个text控件的基本操作,可以学习一下text控件的mark

text.index('current') #获取鼠标指针所在行号列号
text.index('insert')   #获取当前光标所在行号列号
想高亮显示当前行?
text.tag_remove("current_line", 1.0, "end")
text.tag_add("current_line", "insert linestart", "insert lineend+1c")

论坛徽章:
0
发表于 2014-07-07 21:25 |显示全部楼层
给你一个示范,高亮鼠标当前行,指哪打哪。
  1. import Tkinter as tk
  2. class HighlightLinesInTextDemo(tk.Tk):
  3.     def __init__(self, *args, **kwargs):
  4.         tk.Tk.__init__(self, *args, **kwargs)
  5.         self.text = tk.Text(self)
  6.         self.text.pack(side="top", fill="both", expand=True)
  7.         self.text.tag_configure("current_line", background="gray")
  8.         self.text.bind("<Motion>", self._highlightline)
  9.         
  10.     def _highlightline(self, event=None):
  11.         self.text.tag_remove("current_line", 1.0, "end")
  12.         self.text.tag_add("current_line", "current linestart", "current lineend+1c")

  13. app = HighlightLinesInTextDemo()
  14. app.mainloop()
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
发表于 2014-07-08 10:55 |显示全部楼层
回复 6# cdhigh


    非常感谢。竟然还给了我一个示例,感动得想流泪。

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
发表于 2014-07-08 19:25 |显示全部楼层
刚看到问题,不过GUI不熟。还要赞下7楼的朋友,活雷锋

论坛徽章:
0
发表于 2015-05-26 17:24 |显示全部楼层
见过大神!呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP