2013-06-11 6 views
-1

Я хотел бы получить индекс (например, 1.1 ...) из выделенного текста в текстовом поле Tkinter, любые идеи?Как получить индексы из текстового поля Tkinter

+0

Что вы подразумеваете под «получить индекс ...»? Вы хотите получить персонаж (ы) по заданному индексу? Или вы спрашиваете, как получить начальный и конечный индекс выбранного блока текста? –

+0

Я имею в виду начальный и конечный индекс выбранного текстового блока – user2476425

ответ

0

Выбранный текст имеет тег "sel". Диапазон начала и окончания выбранного текста определяется "sel.first" и "sel.last". Вы можете использовать те напрямую, если вы хотите, чтобы получить текст, например, так:

chars = the_text_widget.get("sel.first", "sel.last") 

Если, вместо этого, вы хотите числовой индекс, вы можете использовать index метод, который преобразует любой индекс к каноническому виду:

s0 = the_text_widget.index("sel.first") 
s1 = the_text_widget.indx("sel.last") 

Примечание: модуль Tkinter определяет константы для них: SEL_FIRST и SEL_LAST, но лично я не вижу причин, чтобы использовать эти константы. Использование их сопоставлений строк так же просто и помогает укрепить представление о том, что выбор является еще одним тегом без каких-либо специальных свойств.

Смежные вопросы