在同一窗口中创建另一个菜单

时间:2014-05-15 22:16:28

标签: python tkinter

所以,在这里,我使用tkinter模块在python中设计了一个菜单(main),我想要的是当我点击主菜单上的一个按钮时,它会打开另一个菜单(奴隶),但在主菜单的同一窗口内。 (有一个"返回主菜单"从属菜单中的按钮,所以如果我点击这个按钮,我想回到主菜单)

现在,当我点击一个按钮时,它会打开一个包含所选菜单的新窗口......

到目前为止这是我的代码

from Tkinter import *

def cars ():

    cars = Tk ()
    Label (cars, text = "Cars Menu").grid (row = 0, columnspan = 2, pady = 20)
    Button (cars, text = "Car list", width = 50).grid (row = 1)
    Button (cars, text = "New car", width = 50).grid (row = 2)
    Button (cars, text = "Erase car", width = 50).grid (row = 3)
    Button (cars, text = "Return to main menu", width = 50).grid (row = 4, pady = 20)

root = Tk ()

Label (root, text = "Main Menu").grid (row = 0, columnspan = 2, pady = 20)
Button (root, text = "Cars", width = 30, command = cars).grid (row = 1, column = 0)
Button (root, text = "Bikes", width = 30).grid (row = 1, column = 1)

root.mainloop ()

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解你:你有主菜单有选项,当你点击某个选项时,你想删除主菜单并在其位置显示另一个。我有类似的问题我认为这可以帮到你:

我有以下功能:

def _switch_major_panel(self, panel_to_switch_with):
    self.major_panel.grid_remove()
    self.major_panel = panel_to_switch_with
    self.major_panel.grid(sticky='nwes')
    self.update()

:此处自我为Frame个对象,major_panel也是如此。major_panel是我class Application的属性。您可能是current_menu之类的东西那样的。

我这样做是这样的:每当我想要更改major_panel的内容时,我都会使用新内容创建一个新的Frame,只需使用此功能替换旧的内容即可。这一点。

我远非专家,但这对我有用。

祝你好运