2011-01-05 23 views
5

Tkinter Text widget'ım var ve kaç tane satır içerdiğini bilmek istiyorum.Tkinter Text widget'ındaki toplam satır sayısını alma?

text.cget("height") yöntemini biliyorum, ancak bu bana yalnızca kaç satırın görüntülendiğini bildiriyor. Toplam kaç tane çizgi olduğunu bilmek isterim.

Kendi özel kaydırma çubuğumu oluşturmaya çalışmak için bu bilgiyi kullanıyorum, bu nedenle herhangi bir yardım çok takdir edilecektir.

+0

, aslında bunun için yardım (ve değişim başlangıç ​​için buraya cevabımı kontrol etmek ve buna göre son ve düzenleme Nihayetinde toplam yerine kalan satırları yanıtlıyordum): http://stackoverflow.com/questions/29428515/whats-the-most-efficient-way-to-get-a-tkinter-text-widgets-total-display- satırları – Shule

cevap

8

Tampondaki son karakterden hemen sonraki konum olan 'son' değerini bulmak için index yöntemini kullanın.

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

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

Güncelleme Bryan Oakley yorumun başına: Eğer toplam görüntüleme hatları gerekiyorsa

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

Ayrıca, '' 1-bit '' 1 'i çıkarmak zorunda kalmadan kullanmak için de kullanabilirsiniz ("." ifadesinden sonraki değer ne olursa olsun sonuncu karakter sayısı ne olursa olsun sıfırdan ziyade satır) –

+0

Teşekkürler, bu bir ton yardımcı olur! Mevcut projemle işim bittiğinde, Tkinter için bir uzantı olarak yaptığım bazı widget'ları salıvereceğim. Bir ilgi varsa. – rectangletangle

İlgili konular