Tkinter ListBox insert()方法

Tkinter ListBox insert()方法

可以使用insert( )方法为列表框建立项目,这个方法的使用格式如下。

insert(index, elements)

上述index是项目插入位置,如果是插在最后面可以使用END。

示例1

建立列表框,同时为这个列表框建立Banana、Watermelon、Pineapple三个项目。

from tkinter import * 

root = Tk()
root.title("apidemos.com")                             # 窗口标题    
root.geometry("300x210")                         # 窗口宽300高210

lb = Listbox(root)              

lb.insert(END,"Banana")
lb.insert(END,"Watermelon")
lb.insert(END,"Pineapple")

lb.pack(pady=10)

root.mainloop()

输出:

Tkinter ListBox insert()方法

上述程序中第9~11行是建立列表项目,因为只有三个项目所以使用上述方式一次建立一个还不会太复杂,但是如果所要建立的项目很多时,建议使用list方式先存储项目,然后使用for…in循环方式将list内的列表项目插入到列表框。

示例2

建立含6个项目的列表框,程序第3、4行是建立fruits列表,第12、13行是分别将列表元素插入列表框内。

from tkinter import * 
fruits = [
    "Banana","Watermelon","Pineapple",
    "Orange","Grapes","Mango"
]

root = Tk()
root.title("apidemos.com")                             # 窗口标题    
root.geometry("300x210")                         # 窗口宽300高210

lb = Listbox(root)              
for fruit in fruits:
    lb.insert(END,fruit)
lb.pack(pady=10)

root.mainloop()

输出:

Tkinter ListBox insert()方法

示例3

使用Listbox()构造方法时增加selectmode=MULTIPLE参数设置,这个设置可以让用户选取多个项目。

from tkinter import * 
fruits = [
    "Banana","Watermelon","Pineapple",
    "Orange","Grapes","Mango"
]

root = Tk()
root.title("apidemos.com")                             # 窗口标题    
root.geometry("300x210")                         # 窗口宽300高210

lb = Listbox(root,selectmode=MULTIPLE)              
for fruit in fruits:
    lb.insert(END,fruit)
lb.pack(pady=10)

root.mainloop()

输出:

Tkinter ListBox insert()方法

示例4

使用selectmode=EXTENDED参数,此时可以用拖曳的方式选择区间项目。如果先单击一个项目,然后按住Shift键并单击另一个项目可以选取这个区间内的项目。

from tkinter import * 
fruits = [
    "Banana","Watermelon","Pineapple",
    "Orange","Grapes","Mango"
]

root = Tk()
root.title("apidemos.com")                             # 窗口标题    
root.geometry("300x210")                         # 窗口宽300高210

lb = Listbox(root,selectmode=EXTENDED)              
for fruit in fruits:
    lb.insert(END,fruit)
lb.pack(pady=10)

root.mainloop()

输出:

Tkinter ListBox insert()方法

目前插入选项皆是插在最后面,所以语法是insert(END,elements),其实第一个参数是索引值,如果将END改为ACTIVE,表示是在目前选项前面加入一个项目,如果尚未选择选项则此ACTIVE是0。

示例5

先建立三个选项,然后使用insert(ACTIVE,elements … )在目前选项前方建立另外三个选项。

from tkinter import * 
fruits = [
    "Banana","Watermelon","Pineapple",
]

root = Tk()
root.title("apidemos.com")                             # 窗口标题    
root.geometry("300x210")                         # 窗口宽300高210

lb = Listbox(root,selectmode=EXTENDED)              
for fruit in fruits:
    lb.insert(END,fruit)
lb.insert(ACTIVE,"Orange","Grapes","Mango")
lb.pack(pady=10)

root.mainloop()

输出:

Tkinter ListBox insert()方法

读者请留意第13行一次插入了三个项目的方式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程