如何获取Tkinter Text小部件中的总行数?

11 投票
1 回答
12884 浏览
提问于 2025-04-16 09:28

我有一个Tkinter的Text组件,我想知道里面总共有多少行。

我知道可以用text.cget("height")这个方法,但它只告诉我现在显示了多少行。我想知道总共有多少行。

我想用这些信息来制作一个自定义的滚动条,所以任何帮助都非常感谢。

1 个回答

15

使用 index 方法可以找到 'end' 的值,这个值表示缓冲区中最后一个字符后面的位置。

>>> text_widget.index('end')  # returns line.column 
'3.0'

>>> int(text_widget.index('end').split('.')[0]) - 1  # returns line count
2 

更新 根据 Bryan Oakley 的评论:

>>> int(text_widget.index('end-1c').split('.')[0])  # returns line count
2 

撰写回答