如何在 Python 的 Tkinter 模块中获取单元格的当前高度和宽度

问题描述

我想获取 tkinter 网格包装中单元格的当前大小。不仅是认值,而且在调整大小之后也是如此。我该怎么做?

解决方法

您可以使用 grid_bbox 方法获取一个单元格或一组单元格的大小。

例如,给定一个框架 f,它使用 grid 来管理其子项,可以这样检索第 4 行第 5 列的宽度和高度:

x,y,width,height = f.grid_bbox(5,4)

official tcl/tk documentation 中的 bbox 方法是这样描述的:

不带参数,返回网格的边界框(以像素为单位)。返回值由 4 个整数组成。前两个是网格左上角主窗口的像素偏移量(x 然后 y),后两个整数是网格的宽度和高度,也是以像素为单位。如果在命令行上指定了单个列和行,则返回该单元格的边界框,其中左上角的单元格从零开始编号。如果同时指定了 column 和 row 参数,则返回跨越指示的行和列的边界框。