1.创建

from tkinter import *

root=Tk()

lb=Listbox(root)
for item in ['python','tkinter','widget']:
    lb.insert(END,item)
lb.pack()

root.mainloop()

2.多选

lb=Listbox(root,selectmode=MULTIPLE)
from tkinter import *

root=Tk()

lb=Listbox(root,selectmode=EXTENDED)
for item in ['python','tkinter','widget']:
    lb.insert(END,item)
lb.pack()

root.mainloop()

可以按住Shift或者Control

3.鼠标移动选中

lb=Listbox(root,selectmode=BROWSE)

默认就是这种情况

4.鼠标移动不选中

lb=Listbox(root,selectmode=SINGLE)

5.添加item

lb.insert(ACTIVE,'linux','windows','unix')

0向起始位置插入

END向结尾位置插入

ACTIVE当前元素位置为索引

6.删除item

lb.delete(1,1)

删除全部item

lb.delete(0,END)

7.选中和取消选中

lb.selection_set(0,10)
lb.selection_clear(1,3)

第一个参数是开始位置,第二个参数是结束位置

8.item个数

print(lb.size())

9.返回当前选中的item的索引

print(lb.curselection())

10.判断一个items是否被选中

lb.selection_set(3,2)
print(lb.selection_includes(1))
print(lb.selection_includes(3))

11.绑定变量

from tkinter import *

root=Tk()
v=StringVar()

lb=Listbox(root,listvariable=v)
for item in ['python','tkinter','widget']:
    lb.insert(END,item)

lb.insert(ACTIVE,'linux','windows','unix')
print(v.get())
v.set(('1000','200'))

lb.pack()

root.mainloop()

v.get()打印出所有item的值

v.set(()使用元组的形式改变了item的值和个数

12.事件绑定

from tkinter import *

root=Tk()

def printList(event):
    print(lb.get(lb.curselection()))

lb=Listbox(root)
lb.bind('<Double-Button-1>',printList)
for i in range(10):
    lb.insert(END,str(i*100))

lb.pack()

root.mainloop()

双击数字会打印文本

事件可以参考

https://www.cnblogs.com/wumac/p/5842393.html
 

Python3 Tkinter-Listbox的更多相关文章

  1. Tkinter Listbox(列表框)

    Python - Tkinter Listbox(列表框): 列表框部件用于显示一个项目列表,用户可以选择的项目数   列表框部件用于显示一个项目列表,用户可以选择的项目数. 语法: 这里是一个简单的 ...

  2. python3+tkinter实现的黑白棋,代码完整 100%能运行

    今天分享给大家的是采用Python3+tkinter制作而成的小项目--黑白棋 tkinter是Python内置的图形化模块,简单易用,一般的小型UI程序可以快速用它实现,具体的tkinter相关知识 ...

  3. Python3 tkinter基础 Listbox height 显示行数的上限

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Python3 tkinter基础 Listbox Scrollbar 创建垂直滚动条

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3 tkinter基础 Listbox delete 删除单个、所有元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Python3 tkinter基础 Listbox for+insert 将list中元素导入listbox中

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. Python3 tkinter基础 Listbox Button 点击按钮删除选中的单个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. python3 tkinter模块

    一.tkinter 1.tkinter--tool kit interface工具包接口,用于GUI(Graphical User Interface)用户图形界面, 2.python3.x把Tkin ...

  9. python3 tkinter添加图片和文本

    在前面一篇文章基础上,使用tkinter添加图片和文本.在开始之前,我们需要安装Pillow图片库. 一.Pillow的安装 1.方法一:需要下载exe文件,根据下面图片下载和安装       下载完 ...

  10. python tkinter Listbox用法

    python tkinter组件的Listbox的用法,见下面代码的演示: from tkinter import * root=Tk() v=StringVar() #Listbox与变量绑定' l ...

随机推荐

  1. ASP.Net Mvc 5 学习记录2015-9-9

    我之前一直都是学习和开发都采用ASP.Net WebForm,对MVC的一直都是一知半解,最初以为ASP.Net WebForm的N层架构就是MVC.其实N层架构设计思想是"高内聚,低耦合& ...

  2. JAVA给你讲它的故事

    计算机语言如果你将它当做一个产品,就像我们平时用的电视机.剃须刀.电脑.手机等, 他的发展也是有规律的. 任何一个产品的发展规律都是:向着人更加容易使用.功能越来越强大的方向发展. 那么,我们的计算机 ...

  3. java web中对json的使用

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  4. vue项目出现空格警告的原因及其解决办法

    原因: 因为你的Webpack 配置中大概是使用了 eslint-loader,这是用来规范代码风格的,在多人协作或大项目中推荐使用,不想要则可以在 webpack.config.js 中去掉.esl ...

  5. 竞赛题解 - Karp-de-Chant Number(BZOJ-4922)

    Karp-de-Chant Number(BZOJ-4922) - 竞赛题解 进行了一次DP的练习,选几道题写一下博客~ 标签:BZOJ / 01背包 / 贪心 『题目』 >> There ...

  6. ubuntu18.04错误配置变量环境导致无法进入系统

    1.问题描述 错误配置环境变量(直接在/etc/profile文件末尾添加了export xxx),关机后一直在登录界面循环无法进入系统. ###环境变量的添加是在原有变量之后以冒号(:)分隔加入,并 ...

  7. ubuntu8.04下mysql更改用户和密码

    1.最近由于系统原因重装了mysql,但是发现安装过程中没有提示设置密码. 2.修改用户名和密码步骤 A.service mysql stop    #停止mysql服务 B.sudo vim /et ...

  8. 利用tornado使请求实现异步非阻塞

    基本IO模型 网上搜了很多关于同步异步,阻塞非阻塞的说法,理解还是不能很透彻,有必要买书看下. 参考:使用异步 I/O 大大提高应用程序的性能 怎样理解阻塞非阻塞与同步异步的区别? 同步和异步:主要关 ...

  9. Kafka 学习翻译 - 介绍

    Kafka是一个分布式的流式平台.可以从几个方面理解: 1. 三个重要的能力: 能够实现流式的发布和订阅数据,类似于消息队列或者企业级的消息分发系统. 能够在提供一定容错性和持久性能力的基础上存储数据 ...

  10. C# 发送Http协议 模拟 Post Get请求

    1.参数 paramsValue的格式 要和 Reques.ContentType一致, 如果 contentype  "application/x-www-form-urlencoded& ...