第二部分 Python提高—GUI图形用户界面编程(七)

菜单组件

文章目录


GUI 程序通常都有菜单,方便用户的交互。我们一般将菜单分为两种:主菜单和快捷菜单(上下文菜单)。主菜单通常位于GUI 程序上方,通过鼠标右键单击某个组件对象而弹出的菜单,一般是与该组件相关的操作。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

主菜单

主菜单
主菜单一般包含:文件、编辑、帮助等,位于GUI 窗口的上面。创建主菜单一般有如下4步:

  1. 创建主菜单栏对象
menubar = tk.Menu(root)
  1. 创建菜单,并添加到主菜单栏对象
file_menu = tk.Menu(menubar)

menubar.add_cascade(label=”文件”,menu=file_menu)
3. 添加菜单项到2 步中的菜单

file_menu.add_command(label=”打开”)
file_menu.add_command(label=”保存”,accelerator=^p” command=mySaveFile)
file_menu.add_separator()
file_menu.add_command(label=”退出”)
  1. 将主菜单栏添加到根窗口
root[“menu”]=menubar
from tkinter import *
from tkinter.filedialog import *
from tkinter.colorchooser import *

class Application(Frame):
    def __init__(self, master=None):
        super().__init__(master) # super()代表的是父类的定义,而不是父类    对象
        self.master = master
        self.textpad = None # textpad 表示Text 文本框对象
        self.pack()
        self.createWidget()
    def createWidget(self):
        # 创建主菜单栏
        menubar = Menu(root)
        # 创建子菜单
        menuFile = Menu(menubar)
        menuEdit = Menu(menubar)
        menuHelp = Menu(menubar)
        # 将子菜单加入到主菜单栏
        menubar.add_cascade(label="文件(F)", menu=menuFile)
        menubar.add_cascade(label="编辑(E)", menu=menuEdit)
        menubar.add_cascade(label="帮助(H)", menu=menuHelp)
        # 添加菜单项
        menuFile.add_command(label="新建", accelerator="ctrl+n",
        command=self.test)
        menuFile.add_command(label="打开", accelerator="ctrl+o",
        command=self.test)
        menuFile.add_command(label="保存",
        accelerator="ctrl+s",command=self.test)
        menuFile.add_separator() # 添加分割线
        menuFile.add_command(label="退出",
        accelerator="ctrl+q",command=self.test)
        # 将主菜单栏加到根窗口
        root["menu"] = menubar
        #文本编辑区
        self.textpad = Text(root, width=50, height=30)
        self.textpad.pack()
    def test(self):
        pass
if __name__ == '__main__':
    root = Tk()
    root.geometry("450x300+200+300")
    root.title("个人简易记事本")
    app = Application(master=root)
    root.mainloop()

在这里插入图片描述

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44006060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值