我用一部分代码在一个窗口内打开不同的页面,效果很好。当我试图从菜单(文件>新建测试)打开一个窗口时,它会打开一个新窗口,而不是同一个窗口。我真的很困惑,有几个问题。在如何在同一窗口中从菜单打开窗口。
如果菜单栏是在主页中定义的,为什么它在page1(NewTestWindow)中可见。
为menubar创建单独的类是正确的方法还是最好将其插入类MainWindow中。
import tkinter as tk
from tkinter import font as tkfont
class MenuBar(tk.Menu):
def __init__(self, parent, controller):
tk.Menu.__init__(self, controller)
self.controller = controller
fileMenu = tk.Menu(self, tearoff=0)
self.add_cascade(label="File", underline=0, menu=fileMenu)
fileMenu.add_command(label="New Test", underline=1, command=lambda: SampleApp().show_frame("NewTestWindow"))
fileMenu.add_separator()
fileMenu.add_command(label="Exit", underline=2, command=self.onexit)
def onexit(self):
quit()
class Samp