Python 子类化tkinter.Menu会产生默认菜单
我试图创建一个tkinter GUI应用程序,同时将代码组织到主应用程序、框架和菜单的类中。对于菜单,我对tkinter.menu进行了子类化,但它给了我一系列默认菜单,而不包括我创建的菜单和命令。我已尽我所能将其剥离到以下说明问题的工作示例: 首先,我将tkinter.TK子类化以创建包含主窗口和菜单的主小部件。为了便于说明,我在文件菜单中添加了一个空方法作为命令。接下来,我将tkinter.Frame子类化以创建主框架。为了便于说明,我在框架中添加了一个文本框。最后,我将tkinter.Menu子类化以创建主菜单,并添加了子菜单“File”和命令“Open” 结果是一堆我没有创建的菜单,包括一个没有“打开”命令的文件菜单: 哪里出了问题?替换:Python 子类化tkinter.Menu会产生默认菜单,python,user-interface,tkinter,menu,Python,User Interface,Tkinter,Menu,我试图创建一个tkinter GUI应用程序,同时将代码组织到主应用程序、框架和菜单的类中。对于菜单,我对tkinter.menu进行了子类化,但它给了我一系列默认菜单,而不包括我创建的菜单和命令。我已尽我所能将其剥离到以下说明问题的工作示例: 首先,我将tkinter.TK子类化以创建包含主窗口和菜单的主小部件。为了便于说明,我在文件菜单中添加了一个空方法作为命令。接下来,我将tkinter.Frame子类化以创建主框架。为了便于说明,我在框架中添加了一个文本框。最后,我将tkinter.Me
self.menu = MainMenu(master=self)
与:
或加上:
self['menu'] = self.menu
# or self["menu"] = self.menu
# or self.config(menu=self.menu)
# or self.configure(menu=self.menu)
之后的任何地方:
self.menu = ...
要将您的菜单指定为类
顶级小部件的菜单,请不要这样分割代码。如果在代码中有解释,请使用#注释。我根本无法生成任何菜单来组合您提供的代码。已修复格式设置。很抱歉。@列表的作用与self.configure(menu=self.menu)
相同。
self['menu'] = self.menu
# or self["menu"] = self.menu
# or self.config(menu=self.menu)
# or self.configure(menu=self.menu)
self.menu = ...