tkinter应知应会(六):listbox控件,展示列表内容

正如list(列表)之余Python,是非常重要的功能,因此有很多方法,listbox控件对于tkinter来说,也是一个大控件,有非常多的方法和功能。这里挑几个重要的讲。(其他的也不是不重要,遇到了再补充)

1,生成一个listbox

import tkinter as tk
# 创建一个列表,备用
alist = ['python','tkinter','java','c++']

root = tk.Tk()
listbox = tk.Listbox(root)
# listbox创建的时候,是空的,需要逐行插入数据
for item in alist:
    # 'end'的意思是从最后插入(也有其他插入方式)
    listbox.insert('end',item) 
listbox.pack()

root.mainloop()

2,listbox的选择模式
single 单选
browse 单选,拖动鼠标或通过方向键可以直接改变选项
multiple 多选
extended 多选,需要同时按住Shift键或Ctrl键或拖拽鼠标实现

listbox里被选中的选项,状态是’active’。

# 在listbox里使用属性selectmode
import tkinter as tk
alist = ['python','tkinter','java','c++']

root = tk.Tk()
listbox = tk.Listbox(root,selectmode='multiple')
for item in alist:
    listbox.insert('end',item)
listbox.pack()
root.mainloop() 

3,listbox的插入、删除,以及获取listbox的全部内容

# 删除所选项,并保存最终结果
import tkinter as tk
alist = ['滚', '滚', '长', '江', '东', '逝', '水']

def delword():
    listbox.delete('active') # 删除所选项
    
def save():
    result = listbox.get(0,'end') # 保存所选项为元组
    print(result)
    root.destroy()

root = tk.Tk()
listbox = tk.Listbox(root)
for item in alist:
    listbox.insert('end', item)
listbox.pack()
    
buttonDel = tk.Button(root,text='删除选中项',command=delword)
buttonDel.pack()

buttonSave = tk.Button(root,text='保存并关闭',command=save)
buttonSave.pack()

root.mainloop()
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值