我正在尝试用Python创建一个程序,向我显示网络中所有已连接的设备。所有这些连接的设备都将绘制到“画布”中,并为我提供某些按钮和选项(也在画布内)。
这些设备及其选项在[Canvas]中使用.place()
放置。我这样做是为了能够通过声明它们的x和y坐标将所有设备放置在画布上,并使所有设备都很好地适应网格esc模式。 (请参见下图)。
我的问题是,如果它们的数量超过网络中发现的设备的数量,则画布将无法调整大小以适合其中的所有这些矩形,线条和按钮。
是否有任何简单的方法或函数可以相对于画布中的所有项目调整画布的大小?
使用发布的评论@ acw1668,我使用.bbox
执行以下操作:
x1, y1, x2, y2 = canvas.bbox('all')
canvas.config(width=x2, height=y2)
这非常适合!