gpt4 book ai didi

python - 如何将小部件放置在另一个小部件位置的基础上?

转载 作者:行者123 更新时间:2023-12-03 08:54:22 26 4
gpt4 key购买 nike

我想动态放置我的小部件。如果我更改一个小部件的位置,所有其他小部件也应该移动。

我尝试了类似的操作,但“测试”未按我想要的方式正确显示。它位于我的条目小部件的左侧,但我希望将其 + 20px 添加到 TypEntry。

canvas = tk.Canvas(root, height=500, width=300)
canvas.pack()

TypEntry = tk.Entry(root, width=10)
TypEntry.pack()
TypEntry.place(x=xPosForHeader+50, y=yPosForHeader)

ArtikelLabel = tk.Label(root, text="Test")
ArtikelLabel.pack()
ArtikelLabel.place(x=TypEntry.winfo_x()+20, y=yPosForHeader)

最佳答案

有点不清楚你到底在问什么,因为 tkinter 提供了几种相对于其他小部件放置小部件的方法。

但是,如果您除了将一个小部件相对于另一个小部件放置之外实际上没有任何约束,那么最简单的解决方案是 place。根据我的经验,place 几乎从来都不是正确的解决方案,除非在极少数情况下,因为您必须自己做更多的工作。

如果您阅读了 place 的文档,您会发现有专门用于相对放置的选项。这些选项包括 relxrelyrelwidthrelheight

使用您的代码,它看起来像这样:

ArtikelLabel.place(in_=TypEntry, relx=1.0, x=20, rely=0)

在此示例中,选项具有以下效果:

  • in_指定该小部件相对于的小部件

  • relx 是一个浮点值,其中 0 表示另一个小部件的左边缘,1.0 表示右边缘。通过使用 1.0,我们表示希望标签相对于条目小部件的最右边缘定位。

  • x 是一个绝对数字。与 relx 结合使用时,将对值进行求和。因此 relx=1.0, x=20 表示右边缘右侧 20 个像素

  • rely 指定小部件与小部件的上边缘对齐。

关于python - 如何将小部件放置在另一个小部件位置的基础上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com