Python之tkinter列表框Listbox与滚动条Scrollbar解读
在tkinter中,Listbox是常用的控件之一,它类似于HTML中的select元素,可以显示列表的内容,同时也可以引入一个Scrollbar来实现列表的滚动。
Listbox与Scrollbar的基本使用
创建Listbox
我们可以使用Listbox
方法创建一个Listbox对象,也可以使用insert
方法向其中添加元素,如下所示:
import tkinter as tk
root = tk.Tk()
# 创建一个Listbox元素
lb = tk.Listbox(root)
lb.pack()
# 向Listbox中插入若干元素
lb.insert(0, 'Python')
lb.insert(1, 'Java')
lb.insert(2, 'C++')
root.mainloop()
创建Scrollbar
我们可以使用Scrollbar
方法创建一个Scrollbar对象,也可以通过设置其command
属性,实现控制Listbox的滑动,如下所示:
import tkinter as tk
root = tk.Tk()
# 创建一个Listbox元素
lb = tk.Listbox(root)
lb.pack()
# 向Listbox中插入若干元素
lb.insert(0, 'Python')
lb.insert(1, 'Java')
lb.insert(2, 'C++')
# 创建一个Scrollbar元素
sb = tk.Scrollbar(root)
sb.pack(side=tk.RIGHT, fill=tk.Y)
# 使用Scrollbar控制Listbox的滚动
lb.config(yscrollcommand = sb.set)
sb.config(command = lb.yview)
root.mainloop()
嵌入Listbox和Scrollbar
使用上面提到的方式,我们可以分别创建一个Listbox和一个Scrollbar对象。但在实际应用中,我们通常会将一个Scrollbar对象嵌入到Listbox对象中,实现滚动的效果。这可以通过设置Listbox的yscrollcommand
和Scrollbar的command
属性来完成,如下所示:
import tkinter as tk
import tkinter.scrolledlistbox as slb
root = tk.Tk()
# 创建一个ScrolledListbox元素
slb.MultiListbox(master=root, selectmode='single',
height=5, width=20).pack()
root.mainloop()
小结
本文简单介绍了tkinter中Listbox和Scrollbar的基本用法,希望对初学者有所帮助。在实际应用中,通过合理地设置yscrollcommand
和command
属性,我们可以实现复杂的滚动效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之tkinter列表框Listbox与滚动条Scrollbar解读 - Python技术站