在Python中将Tkinter元素置于其他元素之上

时间:2019-05-15 18:11:43

标签: python python-3.x tkinter

我正在寻找一种方法来将Tkinter的一个元素放在Python的其他元素之上。
在下面的示例中,我试图做的是将黄色标签放在白色标签的顶部-因此,当我们更改窗口的大小时,将消失的第一个标签是白色标签,并且仅当不再可见时黄色的会开始收缩。
我如何实现这个想法?提前致谢! (;

running code example

代码:

import tkinter as tk

root = tk.Tk()
root.config(background='black')

regularlabel = tk.Label(root, width=20, height=10, text='label')
regularlabel.pack()

bottomlabel = tk.Label(root, text='bottom label', bg='yellow')
bottomlabel.pack(side='bottom', fill='both')

root.mainloop()

1 个答案:

答案 0 :(得分:1)

Tkinter将按照添加小部件的相反顺序收缩小部件。请先包装底部的窗户以解决您的问题。

由于在开发过程中小部件的布局往往会比实际小部件发生更大的变化,因此,当布局与小部件创建分开时,我发现代码更易于理解和维护。在下面的示例中,我将两个布局语句分组在一起。

import tkinter as tk

root = tk.Tk()
root.config(background='black')

regularlabel = tk.Label(root, width=20, height=10, text='label')
bottomlabel = tk.Label(root, text='bottom label', bg='yellow')

bottomlabel.pack(side='bottom', fill='both')
regularlabel.pack()

root.mainloop()