Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件

------------★Tkinter系列教程★------------

Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件

Tkinter教程20:treeview树视图组件,表格数据的插入与表头排序

Python教程57:tkinter中如何执行,单击按钮的单线程操作

Python教程56:tkinter中如何隐藏/去掉最大化窗口

Python项目10:使用Tkinter批量新建文件夹

Python源码04:使用Tkinter写一个计时器

教你使用Pyinstaller将Python源码打包成可执行程序exe的方法

经典游戏04:给老板写一封拒绝不了的辞职信

Python源码03:使用Tkinter写一个诗词答题软件

Python源码:Tkinter窗口中输入框和菜单组件的使用

Python源码02:使用Tkinter制作软件的登入页面

Python源码:Tkinter组件布局管理的3种方式

Python源码:关于Tkinter需要学习的知识点

Python源码01:使用Tkinter写一个计算器

Python中常用的GUI模块库有哪些?

Python源码:教你用Tkinter创建一个简单的桌面窗口程序

鼠标和键盘代码及说明

< Button-1 > < ButtonPress-1 > < 1 > 1鼠标左键按下,2表示中间,3是右键

< ButtonRelease-1 > 鼠标左键释放

< B1-Motion > 按住鼠标左键移动

< Double-Button-1 > 双击鼠标左键

< Enter > 鼠标指针进入某一组件区域

< Leave > 鼠标指针离开某一组件区域

< MouseWheel > 滚动滚轮

< KeyPress-a > 按下a键,a可以用其他键代替

< KeyRelease-a > 释放a键

< KeyPress-A > 按下A键

< Alt-KeyPress-a > 同时按下alt和a键;alt可用shift和ctrl代替

< Double-KeyPress-a > 快速按两下a键

< Control-V > ctrl和v键同时按下,v可以换成其他键

事件的绑定方法:可以通过控件中的.bind和command方式去操作。

1.Listbox列表框

python 复制代码
# @Author : 小红牛
# 微信公众号:WdPython
import tkinter as tk

root = tk.Tk()

# 1.设置列表框属性,single为单选模式
listbox = tk.Listbox(root, bg='#FFF8DC', selectbackground="#D15FEE",
                          selectmode="single", height=6, width=20, relief="solid")
# 清空列表框内容
listbox.delete(0, tk.END)
# 2.插入数据到Listbox
for i in range(10):
    listbox.insert(tk.END, f"Item {i}")

# 3.绑定listbox_events事件
def listbox_events(event):
    # 获取列表框的索引
    index = listbox.curselection()[0]
    print(f'当前选中的列表项名称:{listbox.get(index)}')

# 4.绑定事件
listbox.bind('<<ListboxSelect>>', listbox_events)
listbox.pack()
root.mainloop()

2.OptionMenu控件的使用,用于创建下拉菜单。

当前选中的值: Option 2

当前选中的值: Option 1

当前选中的值: Option 3

set():设置下拉菜单默认被选中的值

get():获取下拉菜单当前被选中的值

python 复制代码
import tkinter as tk

# 创建主窗口
root = tk.Tk()
root.title("OptionMenu Example")
root.geometry('150x30')
# 1.创建 OptionMenu 控件
# var用于存储选中的选项的值
var = tk.StringVar(root)

def option_menu_events(event):
    current_value = var.get()
    print('当前选中的值:', current_value)

# 2.command绑定option_menu_events事件
option_menu = tk.OptionMenu(root, var, "Option 1", "Option 2", "Option 3",
                            command=option_menu_events)
option_menu.pack()

# 设置默认选项
var.set("Option 1")
# 运行主循环
root.mainloop()

3.ttk.Combobox下拉框控件的用法(文字内容的添加+事件的绑定与调用方法)。

get():获取当前被选中的选项。

set(value):设置当前选中的值为 value。

current(index):设置默认选中索引为 index 的选项

python 复制代码
# @Author : 小红牛
# 微信公众号:WdPython
import tkinter as tk
from tkinter import ttk

# 创建主窗口
root = tk.Tk()

# 1.创建 Combobox 控件
names = ('李白', '杜甫', '李清照', '苏轼')
combo_box = ttk.Combobox(root, values=names)
combo_box.pack()

# 显示 Combobox 控件并设置默认选中项
combo_box.current(0)  # 设置默认选中项
def libai():
    print('我是诗仙,字太白。')

def dufu():
    print('我是诗圣,字子美。')

# 2.下拉框事件,aaa参数必需要设置,不然无法执行选中事件
def combobox_events(aaa):
    # 获取选中的内容
    selected_content = combo_box.get()
    print(f'当前选中的是:{selected_content}')
    if selected_content == '李白':
        libai()
    elif selected_content == '杜甫':
        dufu()
    else:
        print('其他诗人暂时没有介绍,自己写事件!!')

# 为 Combobox 组件绑定事件,当进行选择时,触发事件
combo_box.bind("<<ComboboxSelected>>", combobox_events)

# 运行主循环
root.mainloop()

完毕!!感谢您的收看

----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具

相关推荐
yivifu1 天前
跟水印杠上了——顺便巩固Tkinter的GUI编程
python·opencv·tkinter·去水印
智算菩萨1 个月前
【Tkinter】15 样式与主题深度解析:ttk 主题系统、Style 对象与跨平台样式管理实战
开发语言·python·ui·ai编程·tkinter
智算菩萨2 个月前
【Tkinter】14 事件处理机制深度解析:从基础绑定到高级传播,构建交互式绘图笔记应用
开发语言·笔记·python·microsoft·ui·ai编程·tkinter
智算菩萨2 个月前
【Tkinter】4 Tkinter Entry 输入框控件深度解析:数据验证、密码输入与现代表单设计实战
python·ui·tkinter·数据验证·entry·输入框
智算菩萨2 个月前
【Tkinter】3 Tkinter Button 控件深度解析:从事件绑定到现代交互设计实战
python·microsoft·ui·交互·tkinter·button
Ulyanov2 个月前
雷达电子战仿真引擎设计与实现系列(三):信号处理与目标检测
python·tkinter·系统仿真·雷达电子战
Ulyanov2 个月前
Python GUI工程化实战:从tkinter/ttk到可复用的现代化组件架构
开发语言·python·架构·gui·tkinter
Ulyanov2 个月前
基于Tkinter/ttk的现代化Python GUI开发全攻略:从布局设计到视觉美化(三)
开发语言·python·gui·tkinter·ttk
Ulyanov2 个月前
基于ttk的Python现代化GUI开发指南
开发语言·前端·python·tkinter·系统设计
阳光永恒7362 个月前
Python零基础入门全套资料包免费分享 | 从0到1系统学习路线(含课件+源码+实战案例)
开发语言·python·学习·编程入门·python教程·编程学习·免费资料