-1

我真的希望你理解下面的问题,因为我不知道如何问这个问题所以我希望你能帮助我,如果现在不让我

我想制作一个程序来练习我的python编程技能。我想制作一个商店程序,员工可以在其中输入带有价格的商品,以及他可以在哪里出售商品。我想让一个“页面”是输入的项目,另一个“页面”是销售页面。为此,我想制作一个菜单栏,员工可以在其中按下输入按钮并进入输入项目页面,但是当他想出售项目时,他按下出售按钮然后他进入出售页面但是只有屏幕发生变化,而不是出现另一个选项卡/窗口。

我真的希望我能很好地解释我的问题

提前致谢!!

4

1 回答 1

2

根据您对问题的评论,您的主要问题似乎是您不知道如何制作菜单栏,因此我将解决问题的这一部分。

每个顶级窗口(Tk和的实例Toplevel)都有一个menu可以设置为对象实例的Menu属性。这个菜单本身可以有下拉菜单,这种组合就是菜单栏的组成部分。

为了完成这项工作,您必须首先创建菜单,然后将该菜单与窗口相关联。

import tkinter as tk

root = tk.Tk()
self.menubar = tk.Menu()
root.configure(menu=self.menubar)

要创建子菜单,您必须做一些非常相似的事情。首先,创建一个新Menu实例,然后使用 .将其与菜单栏关联add_cascade。通常,菜单将是菜单栏的子项。您使用该add_command方法将项目添加到子菜单。

在您的情况下,您可能希望创建一个“查看”菜单,其中包含用于在“输入”和“销售”之间切换的项目。它看起来像这样:

viewMenu = tk.Menu(self.menubar)
self.menubar.add_cascade(label="View", menu=viewMenu)
viewMenu.add_command(label="Input", command=self.switch_to_input)
viewMenu.add_command(label="Sell", command=self.switch_to_sell)

例子

这是一个完整的工作示例。为了保持简单和主题,它实际上并没有切换页面。相反,它只是在标签中显示“页面”。

import tkinter as tk

class MenuExample:

    def __init__(self):
        self.root = tk.Tk()

        self.label = tk.Label(self.root, width=25)
        self.label.pack(side="top", fill="both", expand=True, padx=20, pady=20)

        self._create_menubar()

    def _create_menubar(self):
        # create the menubar
        self.menubar = tk.Menu(self.root)
        self.root.configure(menu=self.menubar)

        # File menu
        fileMenu = tk.Menu(self.menubar)
        self.menubar.add_cascade(label="File", menu=fileMenu)
        fileMenu.add_command(label="Exit", command=self.root.destroy)

        # View menu
        viewMenu = tk.Menu(self.menubar)
        self.menubar.add_cascade(label="View", menu=viewMenu)
        viewMenu.add_command(label="Input", command=self.switch_to_input)
        viewMenu.add_command(label="Sell", command=self.switch_to_sell)

    def switch_to_input(self):
        # put the code to switch to the input page here...
        self.label.configure(text="you clicked on View->Input")

    def switch_to_sell(self):
        # put the code to switch to the sell page here...
        self.label.configure(text="you clicked on View->Sell")

app = MenuExample()
tk.mainloop()
于 2019-03-24T22:49:43.703 回答