Ottenere il numero totale di linee in un widget Tkinter di testo?
Domanda
Ho un widget di Tkinter Text
, e mi piacerebbe sapere quante linee che contiene.
Lo so del metodo text.cget("height")
, tuttavia, che solo mi dice la modalità di visualizzazione molte linee. Mi piacerebbe sapere quante linee ci sono in totale.
sto usando queste informazioni per cercare di fare la mia barra di scorrimento su misura, in modo che qualsiasi aiuto sarebbe molto apprezzato.
Soluzione
Utilizzare il metodo index
per trovare il valore di 'fine', che è la posizione subito dopo l'ultimo carattere nel buffer.
>>> text_widget.index('end') # returns line.column
'3.0'
>>> int(text_widget.index('end').split('.')[0]) - 1 # returns line count
2
Aggiorna per il commento di Bryan Oakley:
>>> int(text_widget.index('end-1c').split('.')[0]) # returns line count
2
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow