声明:代码的注释全部写在了代码相对应的位置,动动小手,点开理解 ~
什么是鼠标右键菜单?
各位友人只需在桌面轻点鼠标左键,弹出的那个就是鼠标右键菜单
如何使用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()