如何检测文本小部件内容是否过长?

2024-06-02 11:42:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是需要一些东西,可以告诉如果在一行文本小部件的内容太长,因此需要一个水平滚动条。你知道吗

我搜索了其他人发布的问题,并找到了一个垂直滚动条的解决方案,但遗憾的是,它不能准确地与水平滚动条。你知道吗

我的垂直解决方案:

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"

如有任何建议,我们将不胜感激,谢谢!^-^你知道吗


Tags: 文本selfbox内容indexif部件水平
1条回答
网友
1楼 · 发布于 2024-06-02 11:42:29

在任何支持滚动的小部件上,都可以调用.xview().yview()方法(不带参数),以获取沿该轴的可见区域的当前开始/结束部分。如果整个内容已经可见,那么这就是元组(0.0, 1.0)。如果返回值是其他值,则需要一个滚动条来查看整个内容。你知道吗

相关问题 更多 >