如何在Tkinter的画布小部件中放置小部件?

4 投票
1 回答
5427 浏览
提问于 2025-04-16 06:26

我基本上想用一个 Canvas 作为其他小部件的容器。

我想把我的图形界面分成左边、中间和右边三个部分。在每个部分里,我希望能够放置一些小部件,比如: Checkbutton(复选框)、Button(按钮)、Label(标签)等。

那么,怎么在一个 Canvas 小部件里放置这些小部件呢?

1 个回答

6

你的选择取决于你想要实现什么。为什么使用画布比使用框架更好呢?

你可以像使用其他容器一样,轻松地把小部件添加到画布上,使用pack、grid或place方法。当你这样做时,添加的项目在你滚动画布时不会一起滚动,因为它们实际上并不是画布的一部分。

另一种选择是在画布上创建窗口对象。你可以通过画布的create_window方法来实现。这样做的好处是,这个窗口就成了画布的一部分,会和画布上的其他对象一起滚动。缺点是,你只能使用绝对位置来放置这些小部件,并且需要自己控制小部件的大小。

撰写回答