2011-01-05 95 views
5

我有一個Tkinter Text小部件,我想知道它包含多少行。獲取Tkinter Text小部件的總行數?

我知道text.cget("height")方法,然而,只有告訴我,很多線路都顯示方式。我想知道總共有多少條線。

我正在使用此信息來嘗試製作我自己的自定義滾動條,所以任何幫助都將不勝感激。

+0

如果您需要整個顯示線,在這裏看看我的回答求救(和變化開始,因此結束,和編輯的事實,我最終回答剩餘的行而不是總數):http://stackoverflow.com/questions/29428515/whats-the-most-efficient-way-to-get-a-tkinter-text-widgets-total-display-行 – Shule 2015-04-03 09:07:02

回答

8

使用index方法來查找「端」,這是剛剛在緩衝區中的最後一個字符後的位置的值。

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

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

更新每布萊恩·奧克利的評論:

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

你也可以使用''end-1c''來避免必須減去1(儘管「。」後面的值將是最後一個字符的數量線而不是零) – 2011-01-05 22:10:49

+0

謝謝,這有助於噸!當我完成當前的項目時,我可能會發布一些我作爲Tkinter的擴展的小部件。如果有興趣。 – rectangletangle 2011-01-05 22:22:49