Tkinter 中的 Toplevel 实例目前有两个问题。
首先也是最重要的:我想显示一个弹出窗口并在其中放置 2 个框架以便在网格中进行更好的排列,但它并没有像我期望的那样工作:
import tkinter
root = tkinter.Tk()
tkinter.Button(root, text="ABC").grid(column=0, row=0)
tkinter.Label(root, text="FOO").grid(column=1, row=1)
win = tkinter.Toplevel()
f1 = tkinter.Frame(win).grid(row=0, column=0)
f2 = tkinter.Frame(win).grid(row=1, column=1)
tkinter.Label(f1, text="FRAME 1").grid()
tkinter.Label(f2, text="FRAME 2").grid()
root.mainloop()
我希望“FRAME 1”和“FRAME 2”放置在 Toplevel 窗口中,但实际上它们放置在 root
中。我该如何解决这个问题?
其次,不太重要:上面代码中的弹出窗口在根窗口后面生成,而我希望将它放在 root
前面,我该如何实现?
最佳答案
您将帧 f1
和 f2
设置为 grid()
命令的返回值,即 None
,因此 tkinter.Label(f1, text="FRAME 1").grid()
无法按预期工作。
尝试这样的事情:
win = tkinter.Toplevel()
f1 = tkinter.Frame(win)
f1.grid(row=0, column=0)
tkinter.Label(f1, text="FRAME 1").grid()
关于python - tkinter:在父级中显示的 Toplevel 中的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950267/