惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
量子位
博客园 - 三生石上(FineUI控件)
博客园 - Franky
博客园_首页
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
IT之家
IT之家
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
Last Week in AI
Last Week in AI
U
Unit 42
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
H
Help Net Security
V
V2EX
S
SegmentFault 最新的问题
月光博客
月光博客
Martin Fowler
Martin Fowler
Vercel News
Vercel News
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目 我又用回了"IE"--edge
Python TK和Tkinter的GUI编程(3) 列表框 Listbox
J.sky · 2017-09-23 · via 碎言

listbox 列表框

列表框的日常使用的场景:

  • 获取列表项中的内容lb.curselection()
  • selectmode=tk.EXTENDED 这个属性设置listbox可以选择多个选项
  • 添加列表项 lb.insert(tk.END,v.get()) END代表最后一个位置,第二个参数是要添加的字符串值。
  • 删除列表中选中的项 command = lambda lb=lb:lb.delete(tk.ANCHOR)
  • lb.bind() 用来绑定列表的事件,比如删除列表中选中的项。

源码



import tkinter as tk
root = tk.Tk()
root.title("Listbox 测试。")
# 存放list的容器
list_frame = tk.Frame(root)
list_frame.pack(fill=tk.X, side=tk.TOP)
#存放按钮文本框的容器
button_frame = tk.Frame(root)
button_frame.pack(fill=tk.X, side=tk.TOP)
# 获取当前listbox中item值,并在控制台打印值
def print_item(event):
    items = lb.curselection()
    for k in items:
        print(lb.get(k))
var = tk.StringVar()#绑定listbox的列表值
var.set(('aa','bb','cc','dd','ee'))
lb = tk.Listbox(list_frame, listvariable = var, selectmode=tk.EXTENDED)#创建一个listbox
lb.bind('<ButtonRelease-1>',print_item)#绑定鼠标左键点击事件。
lb.pack(fill=tk.X)
# 添加listbox item的方法
def additem():
    lb.insert(tk.END,v.get())
    v.set('')
v = tk.StringVar()#绑定文本框的变量
en = tk.Entry(button_frame, textvariable = v).pack()
b1 = tk.Button(button_frame, text="添加", command=additem).pack(side=tk.LEFT)#添加一个item
b2 = tk.Button(button_frame, text="删除", command= lambda lb=lb:lb.delete(tk.ANCHOR)).pack(side=tk.LEFT)#删除一个listbox中选中的item
root.mainloop()

相关参考

本文源码下载: