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控件详解相关推荐

  1. Python中常见的__init__.py是什么意思?详解Python import的方式和原理

    Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...

  2. python 读取图片转换为一维向量_对Python中一维向量和一维向量转置相乘的方法详解...

    对Python中一维向量和一维向量转置相乘的方法详解 在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况.但是在pyth ...

  3. python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  4. python2.7除法_对python中的float除法和整除法的实例详解

    从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下 ...

  5. python中文意思k-对python中的*args与**kwgs的含义与作用详解

    在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数,用于元组,**kw是关键字参数 例如下面的代码 def fo ...

  6. python可以使用二维元组吗_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)...

    怎么去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  7. python反向缩进_在Pycharm中对代码进行注释和缩进的方法详解

    在Pycharm中对代码进行注释和缩进的方法详解 一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快 ...

  8. python中怎么计数_浅谈python中统计计数的几种方法和Counter详解

    1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b ...

  9. python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  10. python中with open写csv文件_Python中的CSV文件使用with语句的方式详解

    是否可以直接使用with语句与CSV文件?能够做这样的事情似乎很自然: import csv with csv.reader(open("myfile.csv")) as read ...

最新文章

  1. Markdown编辑器使用
  2. 开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫...
  3. Windows和Virtualbox虚拟机之间拷贝文件
  4. 如何构建Android MVVM 应用框架
  5. 编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术
  6. 程序员谈敏捷开发团队里成员间的相互信任
  7. 用linq查询html中div个数,C#使用Linq to XML进行XPath查询
  8. 主席树的各类模板(区间第k大数【动,静】,区间不同数的个数,区间=k的个数)...
  9. (转) RabbitMQ学习之spring整合发送异步消息
  10. Python的并发并行[3] - 进程[0] - subprocess 模块
  11. vue修改编码_看,官方出品了 Vue 编码风格指南!
  12. Grails Quartz插件,定时调度任务
  13. 如何导入以前的qq聊天记录
  14. 理科生的人生感悟-02-别忘了别人的痛苦 - 丰收之歌和围墙外的稻田
  15. 【学习记录】使用多协程和队列,爬取时光网电视剧TOP100的数据
  16. 道路中心线提取、河道中心线的提取(ArcScan)
  17. adb发送什么命令能在手机屏幕弹窗显示_Android 手机投屏在 Ubuntu 上的方法
  18. 物联网开发笔记(30)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示二维码(ST7789芯片)
  19. linux安装jdk8(附带linux版jdk8)
  20. 清理电脑C盘空间的脚本

热门文章

  1. 安装Cloudera manager Server步骤详解
  2. 车载触摸显示屏的工作原理
  3. CentOS (Community Enterprise Operating System)是什么?
  4. 安装运行Hyperf
  5. Docker 部署微服务项目
  6. 安卓机——旧机器焕发新活力
  7. springboot毕设项目东软医疗HIS系统之住院入出转管理子系统7k546(java+VUE+Mybatis+Maven+Mysql)
  8. centos7杀掉进程_Centos常用命令,查看进程、杀死进程、启动进程等常用命令
  9. 机器学习入门-一元线性回归模型的骚操作
  10. mmWave EVMs Deep Dive(mmWave EVMs深入理解)