获取GtkTextView行号

问题描述:

如何根据当前光标位置从GtkTextBuffer获取行号? 让我们假设包装模式已设置,并且我处于第三行中间的某个位置。但是我怎样才能让程序告诉我我在第三行?获取GtkTextView行号

你不能,因为文本缓冲区不知道用户调整窗口大小有多大。你可以做的最好的是使用gtk_text_view_get_iter_location(),它给你一个迭代器像素坐标的矩形。

您可以将坐标除以矩形的高度以估计行号,但当然这只有在所有行都是相同高度的情况下才有效。

我知道这个帖子很旧,我仍然在回答这个问题。 要获得行号,你可以尝试以下内容 self.textview.get_iter_at_location(x, y).get_line() 但我还没有尝试过与包装模式。