Tkinter教程, 列表框部件被用来向用户显示列表项。我们可以在列表框中只放置文本项目,所有文本项目都包含相同的字体和颜色。
用户可以根据配置从列表中选择一个或多个项目 –
Python Tkinter – 列表框 语法
使用列表框的语法如下。
w = Listbox(parent, options)
下面列出了可能的选项清单。
SN | 选项 | 描述 |
---|---|---|
1 | bg | 小部件的背景颜色。 |
2 | bd | 它表示边框的大小。默认值是2像素。 |
3 | cursor | 鼠标指针将看起来像光标类型,如点,箭头等。 |
4 | font | 列表框项目的字体类型。 |
5 | fg | 文字的颜色。 |
6 | height | 它代表列表框中显示的行数。默认值是10。 |
7 | highlightcolor | 当小组件处于焦点状态时,列表框项目的颜色。 |
8 | highlightthickness | 高光的厚度。 |
9 | relief | 边框的类型。默认是SUNKEN。 |
10 | selectbackground | 用于显示所选文本的背景颜色。 |
11 | selectmode | 它用于确定可以从列表中选择的项目的数量。它可以设置为BROWSE, SINGLE, MULTIPLE, EXTENDED。 |
12 | width | 它代表部件的宽度,单位是字符。 |
13 | xscrollcommand | 它是用来让用户水平滚动列表框的。 |
14 | yscrollcommand | 它是用来让用户垂直滚动列表框的。 |
Python Tkinter – 列表框 方法
有以下与列表框相关的方法。
SN | 方法 | 描述 |
---|---|---|
1 | activate(index) | 它用于选择指定索引处的行。 |
2 | curselection() | 它返回一个包含所选元素的行号的元组,从0开始计算。如果没有选择,则返回一个空元组。 |
3 | delete(first, last = None) | 它用于删除存在于给定范围内的行。 |
4 | get(first, last = None) | 它用于获取存在于给定范围内的列表项。 |
5 | index(i) | 它用于将具有指定索引的行放置在小组件的顶部。 |
6 | insert(index, *elements) | 它用于在指定的索引前插入具有指定数量元素的新行。 |
7 | nearest(y) | 它返回离列表框部件的y坐标最近的线的索引。 |
8 | see(index) | 它用于调整列表框的位置,使索引所指定的行可见。 |
9 | size() | 它返回存在于列表框部件中的行数。 |
10 | xview() | 这是用来使小部件可以水平滚动的。 |
11 | xview_moveto(fraction) | 它用于使列表框在水平方向上可滚动,其宽度为列表框中最长的一行的几分之一。 |
12 | xview_scroll(number, what) | 它用于使列表框可按指定的字符数水平滚动。 |
13 | yview() | 它使列表框可以垂直滚动。 |
14 | yview_moveto(fraction) | 它用于使列表框可垂直滚动,其宽度为列表框中最长的一行的几分之一。 |
15 | yview_scroll (number, what) | 它用于使列表框可按指定的字符数垂直滚动。 |
Python Tkinter – 列表框 示例1
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("200x250")
lbl = Label(top,text = "A list of favourite countries...")
listbox = Listbox(top)
listbox.insert(1,"India")
listbox.insert(2, "USA")
listbox.insert(3, "Japan")
listbox.insert(4, "Austrelia")
lbl.pack()
listbox.pack()
top.mainloop()
输出:
Python Tkinter – 列表框 示例2: 删除列表中的选中的项目
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("200x250")
lbl = Label(top,text = "A list of favourite countries...")
listbox = Listbox(top)
listbox.insert(1,"India")
listbox.insert(2, "USA")
listbox.insert(3, "Japan")
listbox.insert(4, "Austrelia")
#this button will delete the selected item from the list
btn = Button(top, text = "delete", command = lambda listbox=listbox: listbox.delete(ANCHOR))
lbl.pack()
listbox.pack()
btn.pack()
top.mainloop()
输出:
按下删除按钮后。