Python tkinter编程之Listbox篇

【tkinter组件专栏】Listbox:列表框,一个一个排好队 tkinter窗口组件之Listbox,提供可选择的选项列表 阅读详情

1.

#-*-coding:utf-8-*-
'''
第一个Listbox
Listbox为列表框控件,它可以包含一个或多个文本项(text item),可以设置为单选或多选
insert:向Listbox中插入item
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for item in ['python', 'tkinter', 'widget']:
    lb.insert(END, item)
lb.pack()
root.mainloop()

2.Listbox可以选中多个item selectmode:指定Listbox选择item的几种模式

#-*-coding:utf-8-*-
'''
Listbox可以选中多个item
selectmode:指定Listbox选择item的几种模式
'''
from tkinter import *
root = Tk()
#属性 MULTIPLE 允许多选,每次点击Item,它将改变自己当前选状态,与Checkbox有点类似
lb = Listbox(root, selectmode = MULTIPLE)
for item in ['python', 'tkinter', 'widget']:
    lb.insert(END, item)
lb.pack()
root.mainloop()

3.使用Listbox支持方向键移动选中位置 selectmode:设置为BROWER,默认即为这个值

#-*-coding:utf-8-*-
'''
使用Listbox支持方向键移动选中位置
selectmode:设置为BROWER,默认即为这个值
'''
from tkinter import *
root = Tk()
# selectmode设置为 SINGLE时,不支持方向键移动选中位置
lb = Listbox(root, selectmode = SINGLE)
for item in ['python', 'tkinter', 'widget']:
    lb.insert(END, item)
lb.pack()
root.mainloop()

4.使Listbox支持Shift和Control selectmode:设置为EXTENDED

#-*-coding:utf-8-*-
'''
使Listbox支持Shift和Control
selectmode:设置为EXTENDED
'''
from tkinter import *
root = Tk()
lb = Listbox(root, selectmode = EXTENDED)
for item in ['python', 'tkinter', 'widget']:
    lb.insert(END, item)
lb.pack()
root.mainloop()
#运行程序,点中‘python',shift + 点击'widget',会选中所有的item
#运行程序,点中'python',shift + 点击'widget',会选中python和widget,第二项tkinter处于非选中状态

5.insert:向Listbox中添加一个item

#-*-coding:utf-8-*-
'''
insert:向Listbox中添加一个item
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
#先向Listbox中追加三个item,再在Listbox开始添加三个item
for item in ['python', 'tkinter', 'widget']:
    lb.insert(END, item)
#只添加一个item将[]作为一个item
#lb.insert(0, ['linux', 'windows','unix'])
#添加三个item,每个string为一个item
lb.insert(0, 'linux', 'windows', 'unix')
lb.pack()
root.mainloop()

6.删除Listbox中的item delete:删除Listbox中指定的item,这个函数也有两个参数,第一个为开始的索引值; 第二个为结束的索引值,如果不指定则只删除第一个索引item

#-*-coding:utf-8-*-
'''
删除Listbox中的item
delete:删除Listbox中指定的item,这个函数也有两个参数,第一个为开始的索引值;
第二个为结束的索引值,如果不指定则只删除第一个索引item
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i))
lb.delete(1, 3)
lb.pack()
root.mainloop()

7.选中或取消Listbox中的item select_set:函数有两个参数第一个为开始的索引; 第二个为结束的索引,如果不指定则只选中第一个参数指定的索引项

#-*-coding:utf-8-*-
'''
选中或取消Listbox中的item
select_set:函数有两个参数第一个为开始的索引;
第二个为结束的索引,如果不指定则只选中第一个参数指定的索引项
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i))
lb.select_set(0, 9)
#lb.pack()
#root.mainloop()
'''
程序运行结果,选中了所有的项,代码并未指定Listbox为MULTIPLE或EXTENDED,
查通过select_set仍旧可以对Listbox进行操作
与之相对的便是取消选中的函数了select_clear,参数与select_set参数相同,如下代码取消索引从0-3
'''
lb.select_clear(2,4)
lb.pack()
root.mainloop()

8.得到当前Listbox中的item个数 size:得到当前Listbox中的item个数

#-*-coding:utf-8-*-
'''
得到当前Listbox中的item个数
size:得到当前Listbox中的item个数
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i))
lb.delete(3)
print(f'current Listbox item size = {lb.size()}')
lb.pack()
root.mainloop()

9.返回指定索引的item get:此方法返回由参数指定索引的item

#-*-coding:utf-8-*-
'''
返回指定索引的item
get:此方法返回由参数指定索引的item
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i*100))
print(lb.get(3), type(lb.get(3)))#输出  300 <class 'str'>
print(lb.get(3, 7), type(lb.get(3, 7)))#输出 ('300', '400', '500', '600', '700') <class 'tuple'>
lb.pack()
root.mainloop()

10.返回当前选中的item的索引 curselection:返回当前选中的item的索引

#-*-coding:utf-8-*-
'''
返回当前选中的item的索引
curselection:返回当前选中的item的索引
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i * 10))
lb.selection_set(3, 8)#选中 3到8
print(lb.curselection(),type(lb.curselection()))#输出  (3, 4, 5, 6, 7, 8) <class 'tuple'>
lb.pack()
root.mainloop()
#返回索引,可以根据lb.get()得到值

11.判断一个item是否被选中 selection_includes:指定索引的item是否被选中

#-*-coding:utf-8-*-
'''
判断一个item是否被选中
selection_includes:指定索引的item是否被选中
'''
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i * 100))
lb.selection_set(3, 8)
print(lb.selection_includes(8), type(lb.selection_includes)) # 输出 True <class 'method'>
print(lb.selection_includes(0))# 输出 False
lb.pack()
root.mainloop()

12.Listbox与变量绑定 listvariable:指定与Listbox绑定的变量名称

#-*-coding:utf-8-*-
'''
Listbox与变量绑定
listvariable:指定与Listbox绑定的变量名称
'''
def setListboxValue():
    v.set(('1000', '200'))
from tkinter import *
root = Tk()
v = StringVar()
lb = Listbox(root, listvariable = v)
b1 = Button(root, text = 'change value', command = setListboxValue)
for i in range(10):
    lb.insert(END, str(i * 100))
#打印当前列表中的item值
print(v.get())
lb.pack()
b1.pack()
root.mainloop()

点击change value按钮,Listbox值改变

13.Listbox与事件绑定 bind:将组件与某个事件绑定

#-*-coding:utf-8-*-
'''
Listbox与事件绑定
bind:将组件与某个事件绑定
'''
def printList(event):
    print(lb.get(lb.curselection())) #输出当前选中项的值
from tkinter import *
root = Tk()
lb = Listbox(root)
lb.bind('<Double-Button-1>', printList)
for i in range(10):
    lb.insert(END, str(i * 100))
lb.pack()
root.mainloop()

python中的tkinter包的使用-Listbox列表部件 下面这个例子讲了一下如何使用列表,实现的功能是,选中列表中的某一行,通过print selection 按钮控制,点击按钮后label中显示按钮内容。 窗口界面: 测试:选中33,并且点击print selecttion按钮 代码: import tkinter as tk window=tk.Tk() window.title('my window') window.geom... 阅读详情

相关推荐

Tkinter Listbox 全解:从基础增删改查到高级联动与性能优化

在Python桌面应用开发中,选择类控件是构建交互界面的基础。Listbox作为Tkinter内置的一维列表组件,以索引化字符串模型实现数据展示与选择,配合事件驱动与控件绑定机制,可完成增删改查、多选扩展、滚动联动等操作。掌握selectmode、listvariable等核心配置,能高效实现表单联动、历史记录展示、批量数据管理等真实场景。围绕Listbox的构造、数据管理、事件绑定、滚动条组合、高级技巧与常见坑位,结合可运行的最小示例系统讲解,便于读者直接上手应用。

weixin_32430941的博客 265

Python tkinter (6) —— Listbox控件

本文主要是Python tkinter Listbox控件介绍及使用示例

json_li的博客 5275

Python GUI 之 Listbox 学习

Python GUI 之 Combobox 记录自己学习Python的点点滴滴: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q 插入链接 C...

weixin_41501380的博客 1563

Python tkinter -- 第14章 列表框(Listbox)属性

第14章 列表框(Listbox) 列表框控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体。

weixin_42272768的博客 1万+

python tkinter 图形化界面

1.python提供了多个图形开发界面的库: (1) Tkinter : Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。 (2)wxPython : wxPython 是一款开...

Mrliangqixiong的博客 2653

Python 学习记录,关于GUI工具包--Tkinter库

GUI,图形用户界面,就是那些带有按钮和文本框的窗口等。

4225

python tkinter listbox控件 简书_Python3 Tkinter-Listbox

1.创建from tkinter import *root=Tk()lb=Listbox(root)for item in ['python','tkinter','widget']:lb.insert(END,item)lb.pack()root.mainloop()图片.png2.多选lb=Listbox(root,selectmode=MULTIPLE)from tkinter import...

weixin_30572707的博客 491

Python Tkinter 之Listbox控件(Python GUI 系列12)

Python Tkinter 之Listbox控件(Python GUI 系列12) 1. 序言 本章介绍Tkinter的Listbox控件,本文是Python GUI系列的第12篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。 2. 环境信息 ************************...

Jin_Kwok的博客 2万+

Python学习笔记—— tkinter_10 Listbox(列表框)

一、属性 Python学习笔记—— tkinter_03Button、Label_小橙子的博客-优快云博客 二、示例 主要测试 insert()delete()get()index() 参数主要是 active, anchor, end, @x,y, or a number 常用: active:被选中的 number:数字 end:结尾 from tkinter import * #=========1.主窗口============ root = Tk...

小橙子的博客 1153

Python编程实例-Tkinter GUI编程-Listbox

Tkinter的Listbox 小部件用于显示项目列表,其中所有项目都是具有相同字体和颜色的文本项目。 用户可以根据小部件的配置从列表中选择多个要显示的项目。 列表框在创建时最初是空的,并且需要插入多行文本,这可以使用 insert 方法完成,其中索引和字符串必须作为参数给出,其中索引是列表和字符串中的项目编号 是要显示的文本项。

视觉与物联智能 3140

AM243x多核MCU启动流程解析与OSPI Flash烧录实战

嵌入式系统开发中,引导加载器是芯片上电后执行的第一段软件,负责初始化硬件、加载操作系统或应用程序。其工作原理通常遵循多级引导链,从ROM固件到用户可定制的二级引导程序,逐级建立完整的软件运行环境。这一机制的技术价值在于实现可靠的系统启动、支持安全校验,并为多核异构架构提供协同基础。在应用场景上,引导加载器广泛应用于工业控制、汽车电子和物联网设备,确保设备能从非易失性存储器中自主启动。本文聚焦于TI AM243x这类高性能多核MCU,深入剖析其包含RBL和SBL在内的三级启动流程,并详细演示如何通过UART接

weixin_28703451的博客 582

python GUI编程(Tkinter)

python提供了多个图形开发界面的库,几个常用Python GUI库如下: Tkinter: Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。 wxPython:wxPython ...

weixin_45719624的博客 674

别再乱改grub.cfg了!手把手教你用GRUB2自定义多系统启动菜单(含UEFI/BIOS双模式配置)

本文详细介绍了如何安全、高效地使用GRUB2自定义多系统启动菜单,涵盖UEFI/BIOS双模式配置。通过避免直接编辑grub.cfg文件,采用正确的配置方法和命令,帮助用户打造稳定且美观的启动环境,特别适合Linux多系统用户和开发者。

weixin_42553471的博客 590

python玄阶斗技--tkinter库

python,tkinter

小马哥的博客 5283

线性回归LinearRegression

对视频中线性回归算法的相关内容进行总结与记录 文章目录一、理论基础二、实例2.1 一元线性回归2.1.1 推导过程2.1.2 代码实现(基于numpy)2.1.3 代码实现(基于sklearn)2.2 多元线性回归2.2.1 代码实现(基于numpy)2.2.2 代码实现(基于sklearn) 一、理论基础 回归 通常是指利用某个函数,尽可能把数据样本点“串”在一起,用于描述输入变量和输出变量间的变化关系 线性回归 特点:用来把数据“串”起来的那个函数是线性的 (一元线性回归(一个自变量) &a.

邱邱邱的博客 1068

UE5 C++教程(一、基本结构)

虚幻API由三块组成,分别是Runtime,Developer utilitiew,functionality for the Editor,大多数游戏性编程只使用运行时模块,最常见的三个是Corn、CornUObject和Engine。

skycol的博客 1万+

Python3 GUI编程: 自带图形库 tkinter 学习教程

1、为什么学tkinter tkinter的优缺点 优点:python3 GUI编程需要图形库,常用的有tkinter,wxWidgets,Qt,GTK等等。但是Python自带的库仅仅只是支持Tk的Tkinter,使用Tkinter,不需要安装任何其他包,就可以直接使用。 缺点:tkinter是十分轻量级的,他没有可视化的控件页面和软件,也没办法开发复杂的桌面应用,只能写一写小巧轻量级的小程序。 综上:tkinter适合日常使用,学习成本低,使用场景广。 2、tkinter语法 1、用tk创建一个窗体

小哈里的博客 2671

【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流程详解,注释详细,简单修改就可以训练你自己的图像数据,有训练好的模型下载地址,随取随用

【图像超分】论文精读:Image Super-Resolution Using Deep Convolutional Networks(SRCNN)请配合上述论文精读文章使用,效果更佳!图像超分辨率SRCNN和FSRCNN复现代码,除基本的网络实现外,还有特征图可视化,PSNR曲线图可视化,测试自己的图像数据等不想理解原理,希望直接跑通然后应用到自己的图像数据的同学,请直接下载上面的代码,有训练好的模型,直接用即可。具体使用方式见代码中的README!有问题来本文评论区留言!准备数据集,以及数据预处理。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

python 入门

Python入门 身份展示器 # 导包 import tkinter as tk # 实例化窗口 window=tk.Tk() # 设置窗口的标题 window.title('My window') # 设置窗口的尺寸 window.geometry('200x300') # 字符串变量 var=tk.StringVar() # 变量赋值 var.set('Guess who I am?') # 设置一个标签控件, l=tk.Label(window,textvariable=var,bg='pink',f

kangbazi6的博客 180

实战指南:Qwen3-ASR-1.7B 语音识别

本文介绍了Qwen3-ASR语音识别模型的安装与使用。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1804

【模型实战】MiMo-VL-7B讲解与实战

维度成绩MMMU70.6(图像理解最难测试之一)VideoMME70.8(视频理解标杆)59.4(超越78B参数模型)56.1(超过专用GUI模型)Elo评分开源VLM排名第一(7B~72B)社区热度过去一个月下载超1,600次(RL+SFT)📌一句话概括MiMo-VL 是目前性能最强、推理最稳、体验最佳、生态最全的7B级开源视觉语言模型。

m0_47867638的博客 1198

Tkinter教程之Listbox篇

#Tkinter教程之Listbox篇#Listbox为列表框控件,它可以包含一个或多个文本项(text item),可以设置为单选或多选1.创建一个Listbox,向其中添加三个itemfrom Tkinter import *root = Tk()lb = Listbox(root)for item in [python,tkinter,widget]:    lb

灵蛇舞动 3万+

如何在飞腾平台上安装Ubuntu操作系统

注意: 若主板上配置的是NVME硬盘,在进行内核配置时,需要将内核的NEME驱动勾选上,否则移植内核时,无法找到文件系统,进不去操作系统。可以通过rufus软件将镜像做到U盘中,本次使用版本为Rufus 3.9.124 ,其他版本也可以。不要下载live版本的,没有准备网络环境,是一个头疼的事情,笔者暂时没有实现网络安装。将U盘接到主板usb口上,接上串口,显示器,,必需串口有打印才可以安装。可以通过dd命令,将iso安装到U盘。安装的是最小系统,缺少很多命令,需要联网更新,或则更换飞腾专用内核。

技术联盟 2645

Tkinter 组件详解(八):Listbox

Tkinter 组件详解之Listbox Listbox(列表框)组件用于显示一个选择列表。Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件的配置,用户可以从列表中选择一个或多个选项。 何时使用 Listbox 组件? Listbox 组件通常被用于显示一组文本选项,Listbox 组件跟Checkbutton和Radiobutton组件类似,不过...

来自江南的你的博客 6万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Python】GUI编程(Tkinter)教程

什么是Tkinter? Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。 使用 导...

点滴记忆 4万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

tkinter-listbox详解

本文介绍Listbox控件。 Listbox控件的显示主体就是一个选项列表(items list),每个item一行。当创建一个Listbox控件对象时,该对象没有选项(item)。item可以支持两种方法创建。item可以被删除。一个或多个item可以被选中,然后做相应的事情。还是那个套路,先结合实例介绍一下常用的属性和方法,再给出一个综合性的例子。 文章目录Listboxbgbdfgcursorlistvariableselectmodeindex(index)insert(index, *elemen

渔道的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: Python tkinter编程之Checkbutton篇
下一篇: Python tkinter编程之Scale篇
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值