【问题标题】:Tkinter how to detect if text widget content is too long?Tkinter 如何检测文本小部件内容是否太长?
【发布时间】:2019-04-07 01:44:35
【问题描述】:

我只是需要一些可以判断 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"

任何和所有的建议将不胜感激,谢谢! ^-^

【问题讨论】:

    标签: python user-interface tkinter


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!我非常感谢! ^-^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2011-03-09
    相关资源
    最近更新 更多