Python Tkinter Listbox

Python Tkinter Listbox

Listbox小部件用于向用户显示列表项。我们只能在Listbox中放置文本项,并且所有文本项都包含相同的字体和颜色。

用户可以根据配置选择列表中的一个或多个项。

使用Listbox的语法如下。

w = Listbox(parent, options) 

以下是可能的选择列表。

序号 选项 描述
1 bg 小部件的背景颜色。
2 bd 它表示边框的大小。默认值为2像素。
3 cursor 鼠标指针将呈现类似点、箭头等的光标类型。
4 font Listbox项的字体类型。
5 fg 文本的颜色。
6 height 它表示在Listbox中显示的行数,默认值为10。
7 highlightcolor 当小部件处于焦点下时,Listbox项的颜色。
8 highlightthickness 高亮的厚度。
9 relief 边框的类型。默认为SUNKEN。
10 selectbackground 用于显示所选文本的背景颜色。
11 selectmode 用于确定可以从列表中选择的项目数量。它可以设置为BROWSE、SINGLE、MULTIPLE、EXTENDED。
12 width 它表示小部件的宽度(以字符为单位)。
13 xscrollcommand 允许用户水平滚动Listbox。
14 yscrollcommand 允许用户垂直滚动Listbox。

方法

与Listbox相关的方法如下所示。

SN Method Description
1 activate(index) 用于选择指定索引处的行。
2 curselection() 返回一个元组,其中包含所选元素的行号,从0开始计数。如果未选择任何内容,则返回一个空元组。
3 delete(first, last = None) 用于删除给定范围内存在的行。
4 get(first, last = None) 用于获取给定范围内存在的列表项。
5 index(i) 用于将具有指定索引的行置于小部件的顶部。 | yview() | This is used to make the widget vertically scrollable.
6 insert(index, *elements) 用于在指定索引之前插入具有指定数量元素的新行。
7 nearest(y) 返回距离 Listbox 小部件的 y 坐标最近的行的索引。
8 see(index) 用于调整列表框的位置,使由索引指定的行可见。
9 size() 返回 Listbox 小部件中存在的行数。
10 xview() 用于使小部件在水平方向可滚动。
11 xview_moveto(fraction) 用于通过列表框中存在的最长行的宽度分数使列表框在水平方向可滚动。
12 xview_scroll(number, what) 通过指定的字符数使列表框在水平方向可滚动。
13 yview() 允许 Listbox 在垂直方向上可滚动。
14 yview_moveto(fraction) 用于通过列表框中存在的最长行的宽度分数使列表框在垂直方向可滚动。
15 yview_scroll (number, what) 通过指定的字符数使列表框在垂直方向可滚动。

示例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 Listbox

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

输出:

Python Tkinter Listbox

在按下删除按钮之后。

Python Tkinter Listbox

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程