python - 如何在 Tkinter 中切换到不同的框架?

标签 python tkinter

我目前正在开发一个使用 Python 中的 Tkinter 模块的项目。我正在使用菜单小部件,对于菜单上的每个命令,都有另一个与之关联的命令。每个命令都会打开一个新框架。我正在使用网格几何管理器。

我的问题是,我希望用户能够从一个帧切换到另一个帧,但是当我尝试这样做时,帧彼此重叠而不是切换。如何让事件框架隐藏然后打开一个新框架?我不想遍历可能的框架列表并告诉它们全部隐藏。

这是我到目前为止编写的代码:

import Tkinter as tkinter
root = tkinter.Tk()
root.minsize(400,300)
welcome = tkinter.Frame(root).grid()
label = tkinter.Label(welcome, text="Welcome to my program").grid(row=0, column=3)
button = tkinter.Button(welcome,text="Exit",command=root.destroy).grid(row=3, column=1)
def newFrame():
        newFrame = tkinter.Frame(root).grid()
        newFrame_name = tkinter.Label(newFrame, text="This is another frame").grid()
menu = tkinter.Menu(root)
root.config(menu=menu)

main_menu = tkinter.Menu(menu)
menu.add_cascade(label="Main Menu", menu= main_menu)
main_menu.add_command(label="New Frame", command=newFrame)

#menu.add_command(label="Exit", command=root.destroy, menu= filemenu)


root.mainloop()

当用户从菜单中选择“New Frame”选项时,我希望用 newFrame 替换欢迎框架。

最佳答案

如果您使用 placegrid 将框架堆叠在一起,您只需使用 lift 方法更改堆叠顺序即可。

关于python - 如何在 Tkinter 中切换到不同的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11503324/

相关文章:

c++ - 如何识别没有扩展名的文件类型?

python - 如何在python中获取输出的数量

python - python 中简单的 if/else 误用

python - 如何确保我的按钮不会在 tkinter 中移动?

python-3.x - 使用 PIL 动画 gif W/O

python - 是否可以将嵌套字典作为哈希结构存储在Redis中?

python - Telethon:留下聊天而不是 channel 请求

python - 列出 `tkinter` 中的可用字体系列

python - 使用 Tkinter 获取动态生成的 Entry 字段的值

python - PIL for Python 3.2 on Windows 或替代品?