Tkinter极简实例——Listbox篇

Tkinter Listbox

列表框控件,可以包含一个或多个文本项,可以设置为单选或多选。

Listbox极简例子

from tkinter import *

root = Tk()

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

lb.pack()

root.mainloop()

Listbox的多选模式

from tkinter import *

root = Tk()

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

lb.pack()

root.mainloop()

Listbox的鼠标移动选中模式(BROWSE & SINGLE)

BROWSE即为默认值,看看SINGLE

from tkinter import *

root = Tk()

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

lb.pack()

root.mainloop()

Listbox支持Control和Shift

from tkinter import *

root = Tk()

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

lb.pack()

root.mainloop()

Listbox添加item

from tkinter import *

root = Tk()

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

lb.insert(0, ['linux', 'C++'])

lb.insert(0, 'php', 'java')

lb.pack()

root.mainloop()

Listbox删除item

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10):
    lb.insert(END, str(i))

lb.delete(1, 3)

lb.pack()

root.mainloop()

Listbox中item的选中与取消

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10):
    lb.insert(END, str(i))

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

lb.pack()

root.mainloop()

打印Listbox的item个数

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10):
    lb.insert(END, str(i))

lb.delete(3)
print(lb.size())

lb.pack()

root.mainloop()

返回指定索引的item

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10):
    lb.insert(END, str(i))

print(lb.get(3))
print(lb.get(3, 7))

lb.pack()

root.mainloop()

返回选中的item的索引

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10, 20):
    lb.insert(END, str(i))

lb.selection_set(3, 8)
print(lb.curselection())

lb.pack()

root.mainloop()

判断item是否选中

from tkinter import *

root = Tk()

lb = Listbox(root)

for i in range(10, 20):
    lb.insert(END, str(i))

lb.selection_set(3, 8)
print(lb.selection_includes(8))
print(lb.selection_includes(0))

lb.pack()

root.mainloop()

Listbox与变量绑定

from tkinter import *

root = Tk()

v = StringVar()

lb = Listbox(root, listvariable=v)

for i in range(10):
    lb.insert(END, str(i*100))

print(v.get())

v.set(('1000', '200'))

lb.pack()

root.mainloop()

Listbox与事件绑定

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()

高度控制 height 单位是行数

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值