我不能使用
我知道在tkinter Text
小部件中可以将坐标转换为索引。但反过来也有可能吗?
基本上我想找出鼠标坐标,当鼠标按钮被按下时,是在索引"10.end"
的坐标之前还是之后(例如)。
行号可以是任何值。
current
如果要比较鼠标是在一个字符之前还是在另一个字符之后,则不需要将索引转换为坐标来执行所需操作。您可以直接将索引与事件的x、y坐标进行比较:
def on_motion(event):
event.widget.compare("@%s,%s" % (event.x, event.y), "10.end")
...
text = tk.Text(...)
text.bind("<B1-Motion>", on_motion)
如果你试图比较鼠标是在另一个字符的左边还是右边(不管y坐标是什么),你唯一的选择是获得字符的x,y并自己进行比较。
要做到这一点,您可以使用文本小部件的bbox
方法来获取以像素为单位的特定索引的边界框。您将得到索引左上角的x/y,以及宽度和高度。然后,您可以将事件的x
坐标与索引的x
坐标进行比较。