Tkinter:使用place()将小部件放在右下角

5 投票
2 回答
8924 浏览
提问于 2025-04-18 17:52

[注意:我只是为了发布答案才问这个问题,因为在我问完之前就找到了答案,我觉得其他人可能也想知道。我的答案是故意作为答案,而不是问题的一部分。]

我想知道如何使用 Tkinter 的 myWidget.place() 方法,把一个小部件放到屏幕的右下角,并且要完全可见。我试过用 anchor=SE,但小部件消失了(其实它在,只是跑到屏幕外面去了)。下面的代码在右上角效果很好:

self.entry.place(relx=1, x=0, y=-1, anchor=NE);

但是,把锚点改成 SE 后,结果并不是我预期的那样。

我不想用 packgrid 来实现这个。

总之,我希望这个小部件能够放在已经存在的另一个小部件上面,而不是被放进里面(因为那样会有问题,我需要为每个标签创建一个新小部件,而这样做只需要一个小部件)。

2 个回答

0

如果你不能把它放在角落里让它一直待在那里,一个不错的办法就是让它不能被调整大小。

`from tkinter import *
root = Tk()
root.title("What ever you want")
root.resizable(0,0)
bt = Button(root, text="Click Me!")
bt.grid(row=1, column=1)`

这是一个特别好的方法,尤其是在你制作小型登录界面的时候!

希望这对大家有帮助!

记得回复哦!谢谢!

10

这段话的意思是,这样做可以让你把小工具放在右下角,并且会自动考虑小工具的大小。

myWidget.place(rely=1.0, relx=1.0, x=0, y=0, anchor=SE)

1.0rely 中表示主小工具的底部。1.0relx 中表示主小工具的右侧。

关于Superior的评论,他问我这个信息的来源,我不太记得我最开始是在哪里找到的,不过关于place方法的文档基本上解释了我在这个回答中说的内容。你可以打开python3解释器,输入 import tkinter; 然后输入 help(tkinter.Text.place),查看 relx 和 rely 的说明。“relx=amount - 在主小工具的宽度范围内(0.0到1.0)定位这个小工具的锚点(1.0是右边缘)”以及“rely=amount - 在主小工具的高度范围内(0.0到1.0)定位这个小工具的锚点(1.0是底边缘)”。(是的,我当时放置的小工具其实是一个修改过的Text小工具,而不是Entry小工具,尽管我在问题中称它为self.entry,因为我喜欢在通常使用Entry小工具的地方使用Text小工具。)

撰写回答