Tkinter文本小部件 - 通过y-coord识别行

时间:2014-01-31 15:30:06

标签: python events tkinter textarea

是否有任何方法可以识别tkinter.Texttkinter窗口小部件中的行/列?我的意思是方法identify_row(event.y)identify_column(event.x)

我想突出显示下面的光标,我需要它来使用禁用文本小部件。

我正在考虑获取高度并计算当前y坐标和线高的行数,但我想,可能有更好的方法。

那么,有吗? 谢谢你的任何建议。

1 个答案:

答案 0 :(得分:1)

找到它,它对我有用:

def __onLClicked(self, event):
    linestart = self.index("@{0},{1} linestart".format(event.x, event.y))
    lineend = self.index("{} lineend".format(linestart))

    self.tag_remove("current_line", 1.0, "end")
    self.tag_add("current_line", linestart, lineend)

只有一个细节,遗憾的是并没有高亮显示所有线条相同,因为每条线都有不同的长度。如果有人知道如何在没有添加额外空格的情况下突出显示每条线的完整“宽度”(我想要的长度线)......那就太棒了!