Tkinter, как определить, является ли содержание текстового виджета слишком длинным? - PullRequest
0 голосов
/ 07 апреля 2019

Мне просто нужно что-то, что может сказать, является ли содержимое в текстовом виджете в 1 строку слишком длинным, поэтому необходима горизонтальная полоса прокрутки.

Я искал вопросы, которые другие опубликовали, и нашел решение длявертикальная полоса прокрутки, но, к сожалению, она не работает так же точно с горизонтальной.

Мое решение для вертикальной:

if self.verse_box.cget('height') < int(self.verse_box.index('end-1c').split('.')[0]):
    print "Too many lines"

Но если я переключу его так, он не будет работать, как некоторыесимволы меньше и, таким образом, могут иметь больше места в строке:

if self.verse_box.cget('width') < int(self.tags_box.index('end-1c').split('.')[1]):
    print "This one line is too long"

Любой и все советы будут с благодарностью, спасибо!^ - ^

1 Ответ

2 голосов
/ 07 апреля 2019

В любом виджете, поддерживающем прокрутку, вы можете вызвать метод .xview() или .yview() без параметров, чтобы получить текущие начальные / конечные доли видимой области вдоль этой оси.Если все содержимое уже видно, это будет кортеж (0.0, 1.0).Если возвращаемое значение является чем-то еще, полоса прокрутки необходима для просмотра всего содержимого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...