Python tkinter 列表框Listbox属性详情

  • Post category:Python

以下是“Python tkinter 列表框Listbox属性详情”的完整攻略。

1. Listbox属性

Listbox是tkinter中的一个控件,用于显示列表数据。在使用Listbox时,设置一些属性来控制其外观和行为。下面是一些常用的Listbox属性:

  • bg:Listbox的背景颜色。
  • fg:Listbox的前景颜色。
  • font:Listbox中文本的字体。
  • height:Listbox的高度,以显示的行数为单位。
  • selectmode:Listbox中选择模式,可以是SINGLE、BROWSE、MULTIPLE或EXTENDED。
  • width:Listbox的宽度,以字符数为单位。

2.说明

示例1:创建一个简单的Listbox

下面的示例代码演示了如何创建一个简单的Listbox,并向其中添加一些元素:

import tkinter as tk

root = tk.Tk()

listbox = tk.Listbox(root)
listbox.pack()

for item in ['apple', 'banana', 'orange']:
    listbox.insert(tk.END, item)

root.mainloop()

在上面的示例代码中,我们首先导入了tkinter模块,并创建了一个名为root的主窗。然后,创建了一个名为listbox的Listbox控件,并将其添加到root窗口中。接着,使用for循环向listbox中添加了三个元素。最后,使用mainloop()方法启动主事件循环,等待用户交互。

示例2:设置Listbox的选择模式

下面的示例代码演示了如何设置Listbox的选择模式为MULTIPLE,并获取用户选择的元素:

import tkinter as tk

def on_select(event):
    selected_items = [listbox.get(idx) for idx in listbox.curselection()]
    print(selected_items)

root = tk.Tk()

listbox = tk.Listbox(root, selectmode=tk.MULTIPLE)
listbox.pack()

for item in ['apple', 'banana', 'orange']:
    listbox.insert(tk.END, item)

listbox.bind('<<ListboxSelect>>', on_select)

root.mainloop()

在上面的示例代码中,我们首先定义了一个名为on_select的回调函数,用于获取用户选择的元素。然后,创建了一个名为listbox的Listbox控件,并将其选择模式设置为MULTIPLE。接着,使用for循环向listbox中添加了三个元素。最后,使用bind()方法将on_select函数绑定到listbox的<>事件上,以便在用户选择元素时调用该函数。当用户选择元素时,on_select函数将获取用户选择的元素,并使用print()函数输出到控制台。