如何在 Tkinter 中将小部件放置在 Canvas 小部件中?
我基本上希望能够使用 Canvas 作为其他小部件的元容器。
我想将我的 GUI 分为左侧、中间和中间部分。在每个部分中,我希望能够放置小部件,例如:Checkbutton
、Button
、Label
等。
如何将小部件放置在 Canvas 小部件中?
I want basically to be able to use a Canvas
as a meta container for other widgets.
I want to divide my GUI into a left, center and middle section. Within each section I would like to be able to place widgets like: Checkbutton
, Button
, Label
, etc.
How to place widgets in a Canvas widget?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的选择取决于您真正想要实现的目标。为什么使用画布比使用框架更好?
您可以使用 pack 或 grid 或 place 轻松地将小部件添加到画布,就像添加任何其他容器一样。当您执行此操作时,当您滚动画布时,这些项目将不会滚动,因为它们实际上不是画布的一部分。
另一种选择是在画布上创建窗口对象。您可以使用画布的
create_window
方法来执行此操作。优点是,该窗口成为画布的一部分,并将与画布上的任何其他对象一起滚动。缺点是,您唯一的选择是绝对放置,并且您必须显式控制小部件的大小。Your choices depend on what you're really trying to accomplish. Why is using a canvas preferable to using a frame?
You can easily add widgets to a canvas just like you do any other container, using pack or grid or place. when you do this, the items will not scroll when you scroll the canvas because they aren't actually part of the canvas.
The other choice is to create window objects on the canvas. You do this with the
create_window
method of the canvas. The advantage is, this window becomes part of the canvas and will scroll along with any other objects on the canvas. The downside is, your only option is absolute placement and you have to explicitly control the size of the widgets.