python tkinter listbox_Python中tkinter控件中的Listbox控件详解
import tkinter
win=tkinter.Tk()
win.title('第一个窗口')
win.geometry()
'''
Listbox 列表框控件:可以包含一个或者多个文本框
作业:在listbox控件的小窗口显示一个字符串
'''
#一:【支持鼠标移动选中位置】使用selectmode=tkinter.BROWSE,创建一个listbox,添加几个元素
'''
lb=tkinter.Listbox(win,selectmode=tkinter.BROWSE)
lb.pack()
for item in ['good','nice','beautiful']:
#1:添加
#按顺序添加(向后添加)
lb.insert(tkinter.END,item)
#在开始添加(往前添加)
lb.insert(tkinter.ACTIVE,'cool')
#将列表当成一个元素添加
#lb.insert(tkinter.END,['cool','sunk'])
'''
#2:删除【索引从0开始数】(删除开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只删除第一个索引的内容
#lb.delete(1)
#3:选中【索引从0开始数】(选中开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只选中第一个索引的内容
#lb.select_set(2)
#lb.select_set(2,4)
#4:取消选中【索引从0开始数】(取消选中开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只取消选中第一个索引的内容
#lb.select_clear(2)
#5:获取到列表中的元素个数
#print(lb.size())
#6:从列表中取值【索引从0开始数】(获取选中开始索引到结束索引的所有元素的值(tuple)),参数1为开始索引,参数2为结束索引,如果不指定参数2,只获取第一个索引的内容
#print(lb.get(1,2))
#7:返回当前选中的索引项(得到索引),不是的到内容
#print(lb.curselection())
#8:判断 一个选项是否被选中,返回布尔类型 用索引表示
#print(lb.select_includes(1))
#9:绑定变量
#lbv=tkinter.StringVar()
# 9.1 打印当前列表中的所有选项(tuple)
#print(lbv.get())
# 9.2 设置选项(tuple)
#lbv.set(('1','2'))
#10:绑定事件(需要一个参数,但是不要传)
'''
def myPrint(event):
print(lb.get(lb.curselection()))
lb.bind('',myPrint)
#11:滚动条
sc=tkinter.Scrollbar(win)
sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)
lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)
#关联
lb.configure(yscrollcommand=sc.set) (config方法也可以)
sc['command']=lb.yview #额外给属性赋值,相当于 sc.configure(command=text.yview)
'''
'''#二:【不支持鼠标移动选中位置,支持鼠标按下后选中位置】使用selectmode=tkinter.SINGLE,创建一个listbox,添加几个元素,与(一)相似
lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)
lb.pack()
for item in ['good','nice','beautiful']:
lb.insert(tkinter.END,item)
'''
#三:【在一的功能上,可以使listbox支持shift和control(实现连选与多选)】使用selectmode=tkinter.EXTENDED
'''
lb=tkinter.Listbox(win,selectmode=tkinter.EXTENDED)
for item in ['good','nice','beautiful','good1','nice1','beautiful1','good2','nice2','beautiful2','good3','nice3','beautiful3']:
lb.insert(tkinter.END,item)
sc=tkinter.Scrollbar(win)
sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)
lb.configure(yscrollcommand=sc.set)
lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)
sc['command']=lb.yview
'''
#四:【在二的功能上,支持多选】使用selectmode=tkinter.MULTIPLE
lb=tkinter.Listbox(win,selectmode=tkinter.MULTIPLE)
for item in ['good','nice','beautiful','good1','nice1','beautiful1','good2','nice2','beautiful2','good3','nice3','beautiful3']:
lb.insert(tkinter.END,item)
lb.pack()
win.mainloop()
python tkinter listbox_Python中tkinter控件中的Listbox控件详解相关推荐
- Python中常见的__init__.py是什么意思?详解Python import的方式和原理
Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...
- python 读取图片转换为一维向量_对Python中一维向量和一维向量转置相乘的方法详解...
对Python中一维向量和一维向量转置相乘的方法详解 在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况.但是在pyth ...
- python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...
- python2.7除法_对python中的float除法和整除法的实例详解
从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下 ...
- python中文意思k-对python中的*args与**kwgs的含义与作用详解
在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数,用于元组,**kw是关键字参数 例如下面的代码 def fo ...
- python可以使用二维元组吗_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)...
怎么去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...
- python反向缩进_在Pycharm中对代码进行注释和缩进的方法详解
在Pycharm中对代码进行注释和缩进的方法详解 一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快 ...
- python中怎么计数_浅谈python中统计计数的几种方法和Counter详解
1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b ...
- python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...
- python中with open写csv文件_Python中的CSV文件使用with语句的方式详解
是否可以直接使用with语句与CSV文件?能够做这样的事情似乎很自然: import csv with csv.reader(open("myfile.csv")) as read ...
最新文章
- Markdown编辑器使用
- 开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫...
- Windows和Virtualbox虚拟机之间拷贝文件
- 如何构建Android MVVM 应用框架
- 编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术
- 程序员谈敏捷开发团队里成员间的相互信任
- 用linq查询html中div个数,C#使用Linq to XML进行XPath查询
- 主席树的各类模板(区间第k大数【动,静】,区间不同数的个数,区间=k的个数)...
- (转) RabbitMQ学习之spring整合发送异步消息
- Python的并发并行[3] - 进程[0] - subprocess 模块
- vue修改编码_看,官方出品了 Vue 编码风格指南!
- Grails Quartz插件,定时调度任务
- 如何导入以前的qq聊天记录
- 理科生的人生感悟-02-别忘了别人的痛苦 - 丰收之歌和围墙外的稻田
- 【学习记录】使用多协程和队列,爬取时光网电视剧TOP100的数据
- 道路中心线提取、河道中心线的提取(ArcScan)
- adb发送什么命令能在手机屏幕弹窗显示_Android 手机投屏在 Ubuntu 上的方法
- 物联网开发笔记(30)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示二维码(ST7789芯片)
- linux安装jdk8(附带linux版jdk8)
- 清理电脑C盘空间的脚本
热门文章
- 安装Cloudera manager Server步骤详解
- 车载触摸显示屏的工作原理
- CentOS (Community Enterprise Operating System)是什么?
- 安装运行Hyperf
- Docker 部署微服务项目
- 安卓机——旧机器焕发新活力
- springboot毕设项目东软医疗HIS系统之住院入出转管理子系统7k546(java+VUE+Mybatis+Maven+Mysql)
- centos7杀掉进程_Centos常用命令,查看进程、杀死进程、启动进程等常用命令
- 机器学习入门-一元线性回归模型的骚操作
- mmWave EVMs Deep Dive(mmWave EVMs深入理解)