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

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
V
Visual Studio Blog
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Martin Fowler
Martin Fowler
GbyAI
GbyAI
博客园 - 司徒正美

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? 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()

相关参考

本文源码下载: