我有一個Tkinter Text
小部件,我想知道它包含多少行。獲取Tkinter Text小部件的總行數?
我知道text.cget("height")
方法,然而,只有告訴我,很多線路都顯示方式。我想知道總共有多少條線。
我正在使用此信息來嘗試製作我自己的自定義滾動條,所以任何幫助都將不勝感激。
我有一個Tkinter Text
小部件,我想知道它包含多少行。獲取Tkinter Text小部件的總行數?
我知道text.cget("height")
方法,然而,只有告訴我,很多線路都顯示方式。我想知道總共有多少條線。
我正在使用此信息來嘗試製作我自己的自定義滾動條,所以任何幫助都將不勝感激。
使用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
你也可以使用''end-1c''來避免必須減去1(儘管「。」後面的值將是最後一個字符的數量線而不是零) – 2011-01-05 22:10:49
謝謝,這有助於噸!當我完成當前的項目時,我可能會發布一些我作爲Tkinter的擴展的小部件。如果有興趣。 – rectangletangle 2011-01-05 22:22:49
如果您需要整個顯示線,在這裏看看我的回答求救(和變化開始,因此結束,和編輯的事實,我最終回答剩餘的行而不是總數):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