Obtendo o número total de linhas em um widget de texto tknter?
Pergunta
Eu tenho um tkinter Text
Widget, e eu gostaria de saber quantas linhas ele contém.
Eu sei do text.cget("height")
O método, no entanto, isso me diz quantas linhas são exibidas. Eu gostaria de saber quantas linhas existem total.
Estou usando essas informações para tentar fazer minha própria barra de rolagem personalizada, para que qualquer ajuda seria muito apreciada.
Solução
Use o index
Método para encontrar o valor de 'fim', que é a posição logo após o último caractere no buffer.
>>> text_widget.index('end') # returns line.column
'3.0'
>>> int(text_widget.index('end').split('.')[0]) - 1 # returns line count
2
Atualizar De acordo com o comentário de Bryan Oakley:
>>> int(text_widget.index('end-1c').split('.')[0]) # returns line count
2
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow