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()

图片.png

2.多选

lb=Listbox(root,selectmode=MULTIPLE)

from tkinter import *

root=Tk()

lb=Listbox(root,selectmode=EXTENDED)

for item in ['python','tkinter','widget']:

lb.insert(END,item)

lb.pack()

root.mainloop()

可以按住Shift或者Control

3.鼠标移动选中

lb=Listbox(root,selectmode=BROWSE)

默认就是这种情况

4.鼠标移动不选中

lb=Listbox(root,selectmode=SINGLE)

5.添加item

lb.insert(ACTIVE,'linux','windows','unix')

0向起始位置插入

END向结尾位置插入

ACTIVE当前元素位置为索引

6.删除item

lb.delete(1,1)

删除全部item

lb.delete(0,END)

7.选中和取消选中

lb.selection_set(0,10)

lb.selection_clear(1,3)

第一个参数是开始位置,第二个参数是结束位置

8.item个数

print(lb.size())

9.返回当前选中的item的索引

print(lb.curselection())

10.判断一个items是否被选中

lb.selection_set(3,2)

print(lb.selection_includes(1))

print(lb.selection_includes(3))

11.绑定变量

from tkinter import *

root=Tk()

v=StringVar()

lb=Listbox(root,listvariable=v)

for item in ['python','tkinter','widget']:

lb.insert(END,item)

lb.insert(ACTIVE,'linux','windows','unix')

print(v.get())

v.set(('1000','200'))

lb.pack()

root.mainloop()

图片.png

v.get()打印出所有item的值

v.set(()使用元组的形式改变了item的值和个数

12.事件绑定

from tkinter import *

root=Tk()

def printList(event):

print(lb.get(lb.curselection()))

lb=Listbox(root)

lb.bind('',printList)

for i in range(10):

lb.insert(END,str(i*100))

lb.pack()

root.mainloop()

图片.png

双击数字会打印文本

事件可以参考

https://www.cnblogs.com/wumac/p/5842393.html

你可能感兴趣的:(python,tkinter,listbox控件,简书)