美文网首页
Python3 Tkinter-Listbox

Python3 Tkinter-Listbox

作者: zmqqq | 来源:发表于2019-03-18 14:57 被阅读0次

    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('<Double-Button-1>',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
    

    相关文章

      网友评论

          本文标题:Python3 Tkinter-Listbox

          本文链接:https://www.haomeiwen.com/subject/panvmqtx.html