【发布时间】:2016-10-03 21:57:50
【问题描述】:
我使用的是Switch between two frames in tkinterSwitch between two frames in tkinter
@布莱恩奥克利。现在我想添加一些菜单栏。在 Pageone 我想添加菜单 File 和 Help 在 Pagetwo 我想添加菜单 Data 和 plot
但是我做不到。
我可以将菜单添加到主窗口。但是它对所有页面都可用,并且在我更改页面时不会消失。我不想要那个。我想添加特定于该页面的菜单栏。我该怎么做呢
编辑
实际上我想做的是,我正在制作一个 GUI,您可以在其中进行数学积分和矩阵计算等。因此,在打开 GUI 时,将出现带有积分、矩阵等按钮的窗口。单击这些按钮将打开一个窗口,您可以在其中进行相应的计算。我使用Toplevel() 命令打开了一个新窗口,我只是隐藏了前一个窗口。但我喜欢 Bryan 在该链接中发布的 GUI 代码,所以我询问是否要向各个页面添加菜单。
在 Bryan 的代码中,我刚刚添加了这些行 `class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
menu=tk.Menu(self)
self.config(menu=menu)
subMenu=tk.Menu(menu)
menu.add_cascade(label="File",menu=subMenu)`
但正如我所说,它将菜单附加到主窗口。但我想要不同页面的不同菜单。
【问题讨论】:
-
这不违背菜单栏的正常使用吗?
-
并且每次调用该示例中的
show_frame方法时只需更改菜单栏,如果您有不同菜单的映射,它可能就像self.config(menu=self.menus[page_name])一样简单 -
您是如何创建菜单的?谁是他们的父母,是适当的框架还是根窗口形式?也许你应该提供一些示例代码。
标签: python python-2.7 tkinter