一.listbox
from tkinter import *
root = Tk()
theLB = Listbox(root,selectmode=SINGLE)
theLB.pack()
for item in ['鸡蛋','鸭蛋','鹅蛋','狗蛋']:
theLB.insert(END,item)
b = Button(root,text='删除',command=lambda x=theLB:x.delete(ACTIVE))
b.pack()
mainloop()
selectmode
是选项方式,single
是单选,browse
也是单选,但是可以移动鼠标就改变选项,不需要点击,multiple
是多选,extended
也是多选,但是要按住ctrl
才能选择多项
x.delete(ACTIVE)
中的ACTIVE
和END
一样,表示当前这个选项的序号,如果delete(0,3)
就是删除0-3的选项,只有一个参数,就是删除那一个
二.滚动条scrollbar
from tkinter import *
root = Tk()
sb = Scrollbar(root)
sb.pack(side=RIGHT,fill=Y) #fill=Y,将滚动条竖直填充
#用鼠标滚动时,会获取滚动条的位置,没有set,滚动条就不会动
theLB = Listbox(root,yscrollcommand=sb.set)
for i in range(15):
theLB.insert(END,i)
theLB.pack(side=RIGHT,fill=BOTH)
#yiew表示滚动条变化时,theLB的内容竖直变化,两个组件建立连接
sb.config(command=theLB.yview)
b = Button(root,text='删除',command=lambda x=theLB:x.delete(ACTIVE))
b.pack()
mainloop()
yscrollcommand=sb.set
和sb.config(command=theLB.yview)
是滚动条里面最重要的两个语句
在写scrollbar
的时候,加一个参数orient=HORIZONTAL
,表示水平放置滚动条,默认是垂直
三.scale滚动条
from tkinter import *
root = Tk()
Scale(root,from_=0,to=42,tickinterval=5,resolution=5,length=200).pack()
Scale(root,from_=0,to=200,tickinterval=10,orient=HORIZONTAL,length=600).pack()
mainloop(
tickinterval
是滚动条的刻度,resolution=5
是精度,表示每滚一下滚轮,滚动条走多少,length
是这个滚动条的长度
这个和上面的区别就是scale
可以提供一个滚动的范围