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

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

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('<Double-Button-1>',printList) for i in range(10): lb.insert(END,str(i*100)) lb.pack() root.mainloop()

双击数字会打印文本

事件可以参考

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

猜你喜欢

转载自www.cnblogs.com/zmqqq/p/10580909.html