竹笋

首页 » 问答 » 灌水 » Python学习之Tkinter下
TUhjnbcbe - 2024/6/7 19:58:00

文章接前一篇文章:Python学习之Tkinter「上」文章来源还是来自于我的知识星球球友.Python绿色通道GUI教程就这么多了,完全满足我们日常做小工具的需求了,如果要继续深入可以自己研究。

开始正文:

列表框控件:可以包含一个或者多个文本框。作用:在ListBox控件的小窗口显示项目列表

注意selectmode几种方式的区别:

1.BROWSE:通常,只能从列表框中选择一行。如果单击一个项目,然后拖动鼠标会跟随选中,是默认的。2.SINGLE:和BROWSE的区别是你只能选择一行,不能拖动。3.EXTENDED:通过shift和control可以使ListBox支持连选和多选,能拖动4.MULTIPLE:支持连选和多选,但不能拖动

列表框ListBoxI

#创建一个listbox,并向其中添加元素lb=tkinter.Listbox(win,selectmode=tkinter.BROWSE)lb.pack()foriin[man,pig,dog,cat]:lb.insert(tkinter.END,i)#按顺序依次往后添加元素lb.insert(tkinter.ACTIVE,chicken)#添加到开始的位置#将列表元素当做一个整体添加,不常用lb.insert(tkinter.END,[bird,duck])#删除元素:参数1为开始的引用,参数2为结束的索引,如果不指出参数2,只删除第一个索引处的内容lb.delete(1,2)lb.delete(1)#选中用法同删除lb.select_set(0,1)#取消选中,用法同删除lb.select_clear(0)print(lb.size)#控制台返回元素个数print(lb.get(0,2))#获取元素值,用法同删除print(lb.curselection())#返回当前的索引值print(lb.selection_includes(1))#判断索引项是否被选中效果图

列表框ListBoxII

#绑定变量v=tkinter.StringVar()#SINGLE与BORWSE相似,但是不支持鼠标按下后移动选中位置lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=v)lb.pack()foriin[green,blue,yellow,white]:lb.insert(tkinter.END,i)print(v.get())#取出元组类型的数据(green,blue,yellow,white)v.set((one,two,three,four))#设置元素值#绑定事件鼠标双击两次,控制台输出对应的列表项的值defshow(event):print(lb.get(lb.curselection()))lb.bind(Double-Button-1,show)效果图

列表框ListBoxIII

#EXTENDED通过shift和control可以使ListBox支持连选和多选,MULTIPLE支持连选和多选lb=tkinter.Listbox(win,selectmode=tkinter.MULTIPLE)foriin[green,blue,yellow,white,red,black,man,pig,dog,cat,green,blue,yellow,white,red,black,man,pig,dog,cat]:lb.insert(tkinter.END,i)sc=tkinter.Scrollbar(win)#滚动条sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)lb.configure(yscroll

1
查看完整版本: Python学习之Tkinter下