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

Shu*_*ule 3 python layout tkinter

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

如何使用Tkinter的myWidget.place()方法在屏幕的右下角获得小部件(完全可见)?我尝试使用anchor=SE,但是小部件消失了(尽管它在那里;它只是在屏幕上的某个地方)。下面的代码在右上角运行良好:

self.entry.place(relx=1, x=0, y=-1, anchor=NE);
Run Code Online (Sandbox Code Playgroud)

但是,将锚更改为SE不符合我的预期。

我不想使用packgrid与此。

无论如何,我希望它能够在没有包装的情况下位于已经存在的另一个窗口小部件的顶部(因为这给我带来了问题,而且我需要为每个选项卡添加一个新的窗口小部件,而这样我就只需要一个窗口小部件) 。

Shu*_*ule 7

这将使您可以在右下角获得小部件(并自动考虑小部件的大小)。

myWidget.place(rely=1.0, relx=1.0, x=0, y=0, anchor=SE)
Run Code Online (Sandbox Code Playgroud)

1.0for rely表示主窗口小部件的底部。1.0for relx表示主窗口小部件的右侧。

为了回应Superior询问我的消息来源的评论,我不记得最初是在哪里找到它的,但是place方法的文档几乎说明了我在此答案中所说的内容。转到python3解释器,输入import tkinter; 键入help(tkinter.Text.place)并查看relx和依靠。“ relx = amount-将该小部件的锚点相对于母版的宽度定位在0.0和1.0之间(1.0是右边缘)”和“ rely = amount-该小部件的锚点相对于母版的高度在0.0和1.0之间定位。边缘)”。(是的,尽管我在问题中称它为self.entry,但我定位的小部件实际上是经过修改的Text小部件,而不是Entry小部件,因为我喜欢在人们通常使用Entry小部件的地方使用Text小部件。)