Python 获取滚动条处于禁用状态所需的高度
如何自动调整窗口大小,使滚动条不可滚动,如下图所示?我查看了scrollbar小部件的每个成员函数,除了启用scrollbar时返回空元组的Python 获取滚动条处于禁用状态所需的高度,python,tkinter,height,scrollbar,tk,Python,Tkinter,Height,Scrollbar,Tk,如何自动调整窗口大小,使滚动条不可滚动,如下图所示?我查看了scrollbar小部件的每个成员函数,除了启用scrollbar时返回空元组的.state()之外,没有其他任何函数,它包含'disabled'字符串。所以我拼凑了这个,嗯,不是很漂亮的函数,它将高度增加了20px,直到.state()中出现'disabled' 下面是函数: class ChatUI: def __init__(self, master, engine): # ... unrelated c
.state()
之外,没有其他任何函数,它包含'disabled'
字符串。所以我拼凑了这个,嗯,不是很漂亮的函数,它将高度增加了20px,直到.state()
中出现'disabled'
下面是函数:
class ChatUI:
def __init__(self, master, engine):
# ... unrelated code ...
self.geo_split_pattern = re.compile(r'[x+]')
# ... lot of unrelated code ...
def fittofriendlist(self):
# resizes window so all contacts are visible. horrible hack but working
while 'disabled' not in self.friendsscroll.state():
width = self.geo_split_pattern.split(self.master.geometry())[0]
height = self.geo_split_pattern.split(self.master.geometry())[1]
self.master.geometry('{0}x{1}'.format(width, int(height) + 20))
self.master.update()
# ... lot more of unrelated code ...
我想要达到的目标:(通过适当的方式)
关键不是询问滚动条的高度,而是询问它正在控制多少内容可见的小部件。您可以调用
yview
命令,该命令将返回一个元组,描述视图中的内容部分
从tcl/tk官方文档中:
…每个元素都是介于0和1之间的实分数;他们一起
描述窗口中可见的垂直跨度。例如
如果第一个元素为.6,第二个元素为1.0,则
画布面积的40%(由-scrollregion选项定义)是
在窗口中可见