python-tkinter-03-listbox

  •  Listbox控件-01
import tkinter
 
win = tkinter.Tk()
win.title("xinghaohan")
win.geometry("400x400+200+20")
 
'''
列表框控件,可以包含一个或者多个文本框
作用:在listbox控件的小窗口显示一个字符串
'''
 
#1、创建一个listbox,添加几个元素
lb = tkinter.Listbox(win, selectmode=tkinter.BROWSE)
lb.pack()
for item in ["good", "nice", "handsome", "vg", "vn"]:
    #按顺序添加
    lb.insert(tkinter.END, item)
    
#在开始添加
lb.insert(tkinter.ACTIVE, "cool")
#将列表当成一个元素添加
#lb.insert(tkinter.END, ["very good", "very nice"])
#删除 参数1为开始的索引,参数2为结束的索引,如果不指定参数2,只删除第一个索引处的内容
#lb.delete(1, 3)
#lb.delete(1)
 
#选中 参数1为开始的索引,参数2为结束的索引,如果不指定参数2,只选中第一个索引处的内容
lb.select_set(2,5)
#取消选中
#lb.select_clear(3)
#获取到列表中元素的个数
#print(lb.size())
#从列表中取值 参数1为开始的索引,参数2为结束的索引,如果不指定参数2,只获取第一个索引处的内容
#print(lb.get(2,4))
#print(lb.get(2))
 
#返回当前的索引项,不是item元素
print(lb.curselection())
#判断  一个选项是否被选中
print(lb.select_includes(1))
print(lb.select_includes(3))
 
 
win.mainloop()
 

 

  • Listbox控件-02
import tkinter
 
win = tkinter.Tk()
win.title("xinghaohan")
win.geometry("400x400+200+20")
 
#绑定变量
lbv = tkinter.StringVar()
#与BROWSE相似,但不支持鼠标移动选中位置
lb = tkinter.Listbox(win, selectmode=tkinter.SINGLE, listvariable=lbv)
lb.pack()
for item in ["good", "nice", "handsome", "vg", "vn"]:
    #按顺序添加
    lb.insert(tkinter.END, item)
 
#打印当前列表中的选项
print(lbv.get())
#设置选项
#lbv.set(("1", "2", "3"))
 
#绑定事件 1-鼠标左键
def myPrint(event):
    print(lb.get(lb.curselection()))
lb.bind('<Double-Button-1>', myPrint)
 
 
 
win.mainloop()
 

 

  •  Listbox控件-03
import tkinter

win = tkinter.Tk()
win.title("xinghaohan")
#win.geometry("400x400+200+20")



#EXTENDED 可以使listbox支持shift和control
lb = tkinter.Listbox(win, selectmode=tkinter.EXTENDED)

for item in ["good", "nice", "handsome", "vg", "vn", 
             "good1", "nice1", "handsome1", "vg1", "vn1"
             "good2", "nice2", "handsome2", "vg2", "vn2"]:
    lb.insert(tkinter.END, item)

#按住shift + 点击可以实现连选
#按住control可以实现多选
#滚动条
sc = tkinter.Scrollbar(win)
sc.pack(side=tkinter.RIGHT, fill=tkinter.Y)
lb.configure(yscrollcommand=sc.set)
lb.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
#额外给属性赋值
sc['command'] = lb.yview

win.mainloop()

  • Listbox控件-04 

import tkinter

win = tkinter.Tk()
win.title("xinghaohan")
win.geometry("400x400+200+20")

#MULTIPLE  支持多选
lb = tkinter.Listbox(win, selectmode=tkinter.MULTIPLE)
lb.pack()
for item in ["good", "nice", "handsome", "vg", "vn"]:
    lb.insert(tkinter.END, item)

win.mainloop()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值