如何在Tkinter的画布小部件中放置小部件?
我基本上想用一个 Canvas
作为其他小部件的容器。
我想把我的图形界面分成左边、中间和右边三个部分。在每个部分里,我希望能够放置一些小部件,比如: Checkbutton
(复选框)、Button
(按钮)、Label
(标签)等。
那么,怎么在一个 Canvas 小部件里放置这些小部件呢?
1 个回答
6
你的选择取决于你想要实现什么。为什么使用画布比使用框架更好呢?
你可以像使用其他容器一样,轻松地把小部件添加到画布上,使用pack、grid或place方法。当你这样做时,添加的项目在你滚动画布时不会一起滚动,因为它们实际上并不是画布的一部分。
另一种选择是在画布上创建窗口对象。你可以通过画布的create_window
方法来实现。这样做的好处是,这个窗口就成了画布的一部分,会和画布上的其他对象一起滚动。缺点是,你只能使用绝对位置来放置这些小部件,并且需要自己控制小部件的大小。