【tkinter模块10】Menu鼠标右键菜单&&Combobox下拉控件

声明:代码的注释全部写在了代码相对应的位置,动动小手,点开理解 ~

什么是鼠标右键菜单?

各位友人只需在桌面轻点鼠标左键,弹出的那个就是鼠标右键菜单

如何使用tkinter生成鼠标右键菜单?

  • 全部代码如下:
import tkinter

# 创建主窗口
win = tkinter.Tk()
# 设置标题
win.title('敲')
# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')

# 菜单条
menubar = tkinter.Menu(win)

# 创建一个菜单选项
menu1 = tkinter.Menu(menubar, tearoff=False)

# 给菜单选项添加内容
for i in ['python', 'c', 'c++', 'java', 'php', 'js', '汇编', 'html', '退出']:
    menu1.add_command(label=i)

# 一级菜单的名字叫做 语言 里边添加的二级菜单是 menu1
menubar.add_cascade(label='语言', menu=menu1)


def showMenu(event):
    # 获得点击时鼠标的坐标
    menubar.post(event.x_root, event.y_root)


'''
绑定事件 
Button-1 鼠标左键
Button-2 鼠标滚轮
Button-3 鼠标右键
'''

win.bind('<Button-3>', showMenu)

# 进入消息循环
win.mainloop()

代码示例图:

注 : 因为打开右键菜单无法截屏,用拍照来替代 ~  

 Combobox下拉控件

下拉控件最常见的就是选择城市,设置下拉框流程如下:

  • 设置下拉控件
  • 设置下拉框数据
  • 设置默认值

代码如下:

import tkinter

from tkinter import ttk

# 创建主窗口
win = tkinter.Tk()

# 设置标题
win.title('敲你吗')

# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')
# 创建
com = ttk.Combobox(win)
# 放置
com.pack()

# 设置下拉框的数据
com['value'] = ('北京', '上海', '广州')

# 设置默认值 括号内的是下标
com.current(0)



# 进入消息循环
win.mainloop()

代码示例图:

获取下拉框中的值:

  •  get()方法获取

  •  绑定变量获取

全部代码:

import tkinter

from tkinter import ttk

# 创建主窗口
win = tkinter.Tk()

# 设置标题
win.title('暧昧忆故人')

# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')

# 创建变量
x = tkinter.StringVar()

# 创建
com = ttk.Combobox(win, textvariable=x)
# 放置
com.pack()

# 设置下拉框的数据
com['value'] = ('北京', '上海', '广州')

# 设置默认值 括号内的是下标
com.current(0)


# 绑定事件
def func(event):
    print('当前城市', com.get())
    print('变量获得', x.get())


com.bind('<<ComboboxSelected>>', func)

# 进入消息循环
win.mainloop()
发布了96 篇原创文章 · 获赞 103 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38114487/article/details/104488213