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

news2024/12/28 18:58:51

------------★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列表框
在这里插入图片描述


# @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():获取下拉菜单当前被选中的值

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 的选项在这里插入图片描述

# @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自动化办公 编程工具
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1437826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringBoot篇】解决Redis分布式锁的 误删问题 和 原子性问题

文章目录 &#x1f354;Redis的分布式锁&#x1f6f8;误删问题&#x1f388;解决方法&#x1f50e;代码实现 &#x1f6f8;原子性问题&#x1f339;Lua脚本 ⭐利用Java代码调用Lua脚本改造分布式锁&#x1f50e;代码实现 &#x1f354;Redis的分布式锁 Redis的分布式锁是通过利…

【RT-DETR有效改进】轻量级下采样方法ContextGuided(参数量下降700W,轻量又涨点)

&#x1f451;欢迎大家订阅本专栏&#xff0c;一起学习RT-DETR&#x1f451; 一、本文介绍 本文给大家带来的是改进机制是一种替换Conv的模块Context Guided Block (CG block) &#xff0c;其是在CGNet论文中提出的一种模块&#xff0c;其基本原理是模拟人类视觉系统依赖上…

dbeaver免费、跨平台数据管理软件

下载 dbeaver是一款的数据库连接工具&#xff0c;免费&#xff0c;跨平台。 官网&#xff1a;DBeaver Community | Free Universal Database Tool下载地址&#xff1a;Download | DBeaver Community 点击下载 安装 修改安装路径 点击安装 点击完成 使用 连接mysql 已连接 点…

一个 SpringBoot 项目能同时处理多少请求?

目录 1 问题分析 2 Demo 3 答案 4 怎么来的&#xff1f; 5 标准答案及影响参数一Tomcat配置 6 影响参数二 Web容器 7 影响参数三 Async 1 问题分析 一个 SpringBoot 项目能同时处理多少请求&#xff1f; 不知道你听到这个问题之后的第一反应是什么&#xff1f; 我大概…

Maven - 编译报错:程序包 XXX 不存在(多模块项目)

问题描述 编译报错&#xff1a;程序包 XXX 不存在&#xff08;多模块项目&#xff09; 原因分析 检查依赖模块 pom 文件&#xff0c;看是不是引入了如下插件 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-pl…

STM32/C51开发环境搭建(KeilV5安装)

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统&#xff0c;与汇编相比&#xff0c;C语言在功能上、结构性、可读性、可维护性上有明显的优势&#xff0c;因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等…

5.electron之主进程起一个本地服务

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中&#xff0c;因此它允许你仅需一个代码仓库&#xff0c;就可以撰写支持 Windows、…

信钰证券:稀土板块集体爆发,十余股涨停!脑机接口新进展

脑机接口迎多重利好。 大盘指数早间延续反弹&#xff0c;深证成指一度涨逾3%&#xff0c;半导体芯片、医药医疗、军工等方向涨幅居前。白酒股震荡拉升&#xff0c;金徽酒涨超7%&#xff0c;老白干酒涨超5%&#xff0c;金种子酒、迎驾贡酒等跟涨。 高股息股逆势走弱&#xff0c…

使用ChatGpt和文心一言辅助文章创作

近期在写数字水浒系列文章&#xff0c;使用了ChatGpt和文心一言进行辅助创作&#xff0c;整体感受不错&#xff0c;提高了工作效率。 在使用过程中&#xff0c;感觉文心的中文能力更强一些&#xff0c;主要体现在&#xff1a; 1 语料库更大&#xff0c;比如对水浒传了解的更多…

Flask 入门7:使用 Flask-Moment 本地化日期和时间

如果Web应用的用户来自世界各地&#xff0c;那么处理日期和时间可不是一个简单的任务。服务器需要统一时间单位&#xff0c;这和用户所在的地理位置无关&#xff0c;所以一般使用协调世界时&#xff08;UTC&#xff09;。不过用户看到 UTC 格式的时间会感到困惑&#xff0c;他们…

数据结构-->线性表-->顺序表

对我个人来说&#xff0c;C语言基础相关的知识基本学完了&#xff0c;随后就该学数据结构了&#xff0c;希望以后自己复习能够用上今天自己写的哈哈。 如果你不理解什么是物理结构和逻辑结构&#xff0c;这里附上一个链接&#xff1a;逻辑结构和物理结构&#xff1a;逻辑结构与…

c语言贪食蛇游戏

演示视频 目录 一.概述 二.游戏开始前 修改控制台程序标题和大小 Win32 API GetStdHandle函数 GetConsoleCursorInfo函数和SetConsoleCursorInfo函数 SetConsoleCursorPosition函数 游戏开篇界面处理 创建地图 蛇身节点以及食物节点初始化 蛇身的初始化 整体蛇节点…

通过 docker-compose 部署 Flink

概要 通过 docker-compose 以 Session Mode 部署 flink 前置依赖 Docker、docker-composeflink 客户端docker-compose.yml version: "2.2" services:jobmanager:image: flink:1.17.2ports:- "8081:8081"command: jobmanagervolumes:- ${PWD}/checkpoin…

JSDoc 注释规范

JSDoc 注释 在 前端项目中&#xff0c;注释格式包含了一些特殊标记&#xff0c;如 param、returns 等&#xff0c;这种注释通常是用来标记函数或方法的参数和返回值的数据类型和描述。 这种注释格式通常被称为 JSDoc 注释。在实际开发中&#xff0c;这样的注释可以被一些工具解…

[总结]HTML+JS逆向混淆混合

国外的题果然考得与众不同 [secrypt_cen.html] 这次是HTML网页&#xff0c;然后JS加密判断 翻看JS代码 {width"5.75in" height"3.375in"} 很显然&#xff0c;关键的代码在checkPassword JS混淆是必备的 去混淆一条龙走起 先将关键代码提取出来 JavaScriptf…

Java项目使用jasypt加密和解密配置文件中关键信息

一、使用背景 项目中application.yml 配置文件中&#xff0c;如数据库、redis、加密算法的私钥等各种配置的username&#xff0c;password的值都是明文的&#xff0c;其实存在一定的安全隐患&#xff0c;如果被人拿到这些配置文件&#xff0c;将直接对系统安全构成极大威胁&…

Python库-PyAutoGUI

pyautogui是一个Python库&#xff0c;可以自动控制键盘和鼠标&#xff0c;非常适合进行自动化任务。它可以用于各种场景&#xff0c;比如自动化测试、数据录入任务&#xff0c;甚至是简单的游戏机器人。下面是一个关于pyautogui的入门教程&#xff0c;包括它的安装、基本使用方…

Hadoop-IDEA开发平台搭建

1.安装下载Hadoop文件 1&#xff09;hadoop-3.3.5 将下载的文件保存到英文路径下&#xff0c;名称一定要短。否则容易出问题&#xff1b; 2&#xff09;解压下载下来的文件&#xff0c;配置环境变量 3&#xff09;我的电脑-属性-高级设置-环境变量 4.详细配置文件如下&#…

python-分享篇-屏保计时器

文章目录 代码效果 代码 import turtle, time def drawGap():turtle.penup()turtle.fd(5) def drawLine(draw):drawGap()turtle.pendown() if draw else turtle.penup()turtle.fd(40)drawGap()turtle.right(90) def drawDigit(d):drawLine(True) if d in [2,3,4,5,6,8,9] else…

一台Mac同时安装vue2和vue3

背景&#xff1a;电脑需要运行vue2和vue3项目&#xff0c;就得同时有vue2和vue3环境&#xff0c;之前以配置好vue2了&#xff0c;现在增加vue3 1. 新建一个安装vue3的目录 进入vue3文件夹安装vue3 // 注意这里没有参数-g&#xff0c;因为-g全局安装的命令 npm install vue/cli…