Tkinter Gui中的班级菜单 [英] Class menu in Tkinter Gui

查看:100
本文介绍了Tkinter Gui中的班级菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Gui,我想知道是否可以将窗口的菜单属性作为脚本上的单独类,以获得更清晰,更易于增强的代码.

I'm working on a Gui and I'd like to know if it is possible to make the menu property of a window a separate class on my script for a clearer and more enhancement prone code.

我的代码当前为:

class Application(Frame):
   """ main window application """
   def __init__(self, boss = None):
   (...)
   self.menu = Menu(self)
   self.master.config(menu = self.menu)

   self.select = Menu(self.menu)
   self.menu.add_cascade(label = 'Select', menu = self.select)
   self.select.add_command(label = 'Select all', command = self.select_all)
   ...

我更喜欢:

class MenuBar:

    # all the content of the menu here

class Application(Frame):
   (...)
   self.menu = MenuBar(self) ?

rgds

推荐答案

是的,有可能:

import tkinter as tk
# import Tkinter as tk  # if using python 2
import sys

class MenuBar(tk.Menu):
    def __init__(self, parent):
        tk.Menu.__init__(self, parent)

        fileMenu = tk.Menu(self, tearoff=False)
        self.add_cascade(label="File",underline=0, menu=fileMenu)
        fileMenu.add_command(label="Exit", underline=1, command=self.quit)

    def quit(self):
        sys.exit(0)

class App(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        menubar = MenuBar(self)
        self.config(menu=menubar)

if __name__ == "__main__":
    app=App()
    app.mainloop()

这篇关于Tkinter Gui中的班级菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆