Спасибо, это очень помогает! Когда я закончу с моим текущим проектом, я, вероятно, выпущу некоторые виджеты, которые я сделал как расширение для Tkinter. Если есть интерес.

я есть ткинтерText виджет, и я хотел бы знать, сколько строк он содержит.

Я знаю оtext.cget("height") метод, однако, который только говорит мне, сколько строк отображается. Я хотел бы знать, сколько всего строк.

Я использую эту информацию, чтобы попытаться создать свою собственную полосу прокрутки, поэтому любая помощь будет высоко оценена.

 Shule03 апр. 2015 г., 11:07
Если вам нужно общее количество отображаемых строк, ознакомьтесь с моим ответом здесь для получения справки (и соответственно измените начало и конец, и отредактируйте так, чтобы в конечном итоге я отвечал за оставшиеся строки вместо общего):stackoverflow.com/questions/29428515/...

Ответы на вопрос(1)

Решение Вопроса

Использоватьindex метод, чтобы найти значение 'end', которое является позицией сразу после последнего символа в буфере.

>>> 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 
 Bryan Oakley05 янв. 2011 г., 23:10
Вы также можете использовать'end-1c' чтобы избежать необходимости вычитать 1 (хотя значение после «.» будет любым количеством символов в последней строке, а не нулем)
 rectangletangle05 янв. 2011 г., 23:22
Спасибо, это очень помогает! Когда я закончу с моим текущим проектом, я, вероятно, выпущу некоторые виджеты, которые я сделал как расширение для Tkinter. Если есть интерес.

Ваш ответ на вопрос