Tkinter Text конвертирует индекс в позицию символа - PullRequest
0 голосов
/ 05 августа 2020

Есть ли способ эффективно вычислить позицию символа из индекса в виджете Tk Text?

Например:

«Это фиктивный текст, отображаемый в Tk Text»

Индекс 1.11 («d») соответствует 11

Большое спасибо за отзыв!

1 Ответ

1 голос
/ 06 августа 2020

Метод count вернет количество символов, строк или индексов между двумя индексами. По умолчанию возвращаются «индексы», которые могут быть тем, что вы хотите. Нужные значения добавляются в качестве дополнительных позиционных аргументов.

Функция возвращает кортеж с количеством запрошенных элементов. Например, запрос «chars» вернет кортеж с одним значением, представляющим количество символов.

chars = text.count("1.0", "1.11", "chars")[0]
assert chars==11

Это параметры:

  • chars - подсчитать все символы, пропущенные или нет. Не считайте встроенные windows или изображения.
  • displaychars - подсчитывать все не исключенные символы.
  • displayindices - подсчитывать все не исключенные символы, windows и изображения.
  • отображаемые строки - подсчитывать все отображаемые строки (т.е. подсчитывать одну для каждого переноса строки) от строки первого индекса до, но не включая строка отображения второго индекса.
  • индексы - подсчитать все символы и встроенные windows или изображения
  • строки - подсчитать все логические строки (независимо от переноса) от строки первого индекса до, но не включая строку второго индекса.
  • xpixels - подсчитать количество пикселей по горизонтали от первого пикселя от первого индекса до (но не включая) первого пикселя второго индекса.
  • ypixels - подсчитать количество пикселей по вертикали от первого пикселя первого индекса до (но не включая ) первый пиксель второго индекс.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...