如何在tkinter中将所有小部件放入画布?

时间:2019-12-05 09:00:47

标签: python tkinter

我试图用Python创建一个程序,向我显示网络中所有已连接的设备。所有这些连接的设备都将绘制到“画布”中,并为我提供某些按钮和选项(也在画布内)。

使用.place()将这些设备及其选项放置在“画布”中。我这样做是为了可以通过声明它们的x和y坐标将所有设备放置在画布上,并使所有设备都很好地适应grid-esc模式。 (请参见下图)。

我的问题是,如果它们在网络中发现的设备数量过多,则画布将无法调整大小以适应其中的所有这些矩形,线条和按钮。

是否有任何简单的方法或函数可以相对于画布中的所有项目调整画布的大小?

enter image description here

1 个答案:

答案 0 :(得分:0)

使用@ acw1668发表的评论,我使用.bbox进行了以下操作:

x1, y1, x2, y2 = canvas.bbox('all')
canvas.config(width=x2, height=y2)

这一切都非常合适!