前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【tkinter系列 第八课 Listbox窗口部件 】

【tkinter系列 第八课 Listbox窗口部件 】

作者头像
叶子陪你玩
发布2020-03-11 15:22:02
发布2020-03-11 15:22:02
2K00
代码可运行
举报
运行总次数:0
代码可运行

前言

python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。

本节课将要学习Listbox窗口部件,Listbox是列表框的意思,那什么时候该用Listbox部件呢?列表框用于从一组文本项中进行选择。根据列表框的配置方式,用户可以从列表中选择一个或多个项。

创建一个列表框

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry('400x250')
# 创建一个列表框listbox = Listbox(root)listbox.pack()
# 程序一直循环,直到我们关闭窗口root.mainloop()

列表框的基础操作

插入值

第一次创建列表框时,它是空的。首先要做的通常是插入一行或多行文本。Insert 方法接受要插入的索引和字符串。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry('400x250')
# 创建一个列表框listbox = Listbox(root)listbox.pack()
# 插入值listbox.insert(END, "a list entry")for item in ["one", "two", "three", "four"]:    listbox.insert(END, item)
# 程序一直循环,直到我们关闭窗口root.mainloop()

效果:

删除值

删除使用delete(first,last)方法 代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry('400x250')
# 创建一个列表框listbox = Listbox(root)listbox.pack()
# 插入值listbox.insert(END, "a list entry")for item in ["one", "two", "three", "four"]:    listbox.insert(END, item)
# 删除值listbox.delete(0,2)# 将列表的前3个元素删除
# 程序一直循环,直到我们关闭窗口root.mainloop()

效果:

查看选中结果

使用curselection()方法可以查看当前列表框选中的结果。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry('400x250')
def print_choice():    print(listbox.curselection())
# 创建一个列表框listbox = Listbox(root)listbox.pack()
# 插入值listbox.insert(END, "a list entry")for item in ["one", "two", "three", "four"]:    listbox.insert(END, item)
# 删除值listbox.delete(0,2)# 将列表的前3个元素删除
Button(root, text="确定", command=print_choice).pack()# 程序一直循环,直到我们关闭窗口root.mainloop()

多选

列表框通过 selectmode 选项提供了四种不同的选择模式。它们是 SINGLE (只有一个选项)、 BROWSE (相同,但是可以用鼠标移动选项)、 MULTIPLE (可以选择多个项目,一次点击一个)或 EXTENDED (可以选择多个范围的项目,使用 Shift 和 Control 键盘修饰符)。默认是 BROWSE。使用 MULTIPLE 来获得“检查表”行为,当用户通常只选择一个项目,但有时希望选择一个或多个项目范围时使用 EXTENDED。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry('400x250')
def print_choice():    print(listbox.curselection())
# 创建一个列表框listbox = Listbox(root, selectmode=EXTENDED)listbox.pack()
# 插入值listbox.insert(END, "a list entry")for item in ["one", "two", "three", "four"]:    listbox.insert(END, item)
# 删除值# listbox.delete(0,2)# 将列表的前3个元素删除
Button(root, text="确定", command=print_choice).pack()# 程序一直循环,直到我们关闭窗口root.mainloop()

效果:

参考:http://effbot.org/tkinterbook/listbox.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建一个列表框
  • 列表框的基础操作
    • 插入值
    • 删除值
    • 查看选中结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档