Python tkinter (9) ——Menu控件

本文主要是Python tkinter Menu菜单控件介绍及使用示例。

 

tkinter系列文章

python tkinter窗口简单实现

Python tkinter (1) —— Label标签

Python tkinter (2) —— Button标签

Python tkinter (3) —— Entry标签

Python tkinter (4) —— Text控件

Python tkinter (5) 选项按钮与复选框

Python tkinter (6) ——Listbox

Python tkinter (8) ——Spinbox控件

menu

菜单控件

简单示例

创建一个编程语言菜单选项。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')

# 菜单条
menubar = tkinter.Menu(tk)
tk.config(menu=menubar)

# 把菜单创建到菜单条上 创建菜单选项
menu1 = tkinter.Menu(menubar, tearoff=False)
# 给菜单选项添加内容
for item in ['PHP', 'C', 'C++', 'Python', 'Go', 'JS', 'Mysql', '退出']:
    if item == '退出':
        menu1.add_command(label=item)
    else:
        menu1.add_command(label=item)

# 向菜单条上添加菜单选项
menubar.add_cascade(label='语言', menu=menu1)

tk.mainloop()

效果如下:

Python tkinter (9) ——Menu控件_第1张图片

添加分隔线

在菜单选项上添加分隔线。

示例如下:

for item in ['PHP', 'C', 'C++', 'Python', 'Go', 'JS', 'Mysql', '退出']:
    if item == '退出':
        # 添加分隔线
        menu1.add_separator()
        menu1.add_command(label=item)
    else:
        menu1.add_command(label=item)

效果如下:

Python tkinter (9) ——Menu控件_第2张图片

绑定事件

给其他语言选项上绑定一个公共方法,在退出选项上绑定退出窗口方法。

示例如下:

def comfun():
    print('语言选项')

# 把菜单创建到菜单条上 创建菜单选项
menu1 = tkinter.Menu(menubar, tearoff=False)
# 给菜单选项添加内容
for item in ['PHP', 'C', 'C++', 'Python', 'Go', 'JS', 'Mysql', '退出']:
    if item == '退出':
        menu1.add_command(label=item, command=tk.quit)
    else:
        menu1.add_command(label=item, command=comfun)

效果为,点击其他语言会在控制台打印语言选项,而点击退出则会关闭窗口。

右键菜单

创建菜单条和绑定菜单选项与之前一致;之后需要绑定鼠标右键事件,

需要处理显示在点击相应坐标位置。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')

# 菜单条
menubar = tkinter.Menu(tk)
tk.config(menu=menubar)

# 菜单选项
menu1 = tkinter.Menu(menubar, tearoff=False)
for item in ['PHP', 'C', 'C++', 'Python', 'Go', 'JS', 'Mysql', '退出']:
    menu1.add_command(label=item)

menubar.add_cascade(label='语言', menu=menu1)


# 绑定鼠标右键事件
def show_menu(event):
    menubar.post(event.x_root, event.y_root)


tk.bind('', show_menu)

tk.mainloop()

效果如下:

Python tkinter (9) ——Menu控件_第3张图片

总结

本文主要是Python tkinter Menu菜单控件介绍及使用示例。

你可能感兴趣的:(#,Tkinter,python,后端)