python - tkinter:在父级中显示的 Toplevel 中的框架

标签 python python-3.x tkinter

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 前面,我该如何实现?

最佳答案

您将帧 f1f2 设置为 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/

相关文章:

python - 查找 Ttk Notebook 当前选中的选项卡

python - 如何使用 Python 从字符串中提取特定字母

python - WALS Model Tensorflow - 为新用户获取推荐

python-3.x - Pillow 通过裁剪而不是保留纵横比来创建缩略图

python - 类型错误 : 'int' object is not subscriptable when reversing a number

python-3.x - 使用转换器将 .mp4 转换为 .mpeg4

python - 如何打印 tkinter Scale 小部件的值?

python - 使用 Python 在图像验证码中删除行

python - 将队列与 tkinter(和线程)一起使用

python - 使用 pandastable 更新表内容(Python、tkinter)