Tk Text виджет - получить новый размер в строках и символах - PullRequest
0 голосов
/ 05 ноября 2018

При создании виджета Tk Text вы можете указать его размер как -height и -width, измеренный в строках и символах шрифтом по умолчанию.

Если размер виджета впоследствии изменится, я хочу прочитать новый размер в строках и символах, но не могу понять, как это сделать. Я вообще не меняю шрифт. Привязка к событию <Configure> сообщит о новом размере в пикселях в% h и% w. Выполнение cget -height или cget -width просто сообщает о первоначально настроенных размерах линий и символов. Есть ли способ определить новый размер в строках и символах?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете взять ширину в пикселях и сделать оценку:

set width [expr {round($pwidth/[font measure TkTextFont 0])}]

Высота будет что-то вроде:

set height [expr {round($pheight/[font metrics TkTextFont -linespace])}]

Замените TkTextFont фактическим используемым шрифтом.

...