Python笔记之Tkinter(Listbox)

一、目标

学习Tkinter制作窗体软件的基础,Listbox,带滚动条的Listbox,ctrl+shift多选。

二、试验平台

windows7 , python3.7

三、直接上代码

import tkinter
import time


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("500x300+200+20")   # #窗口位置500后面是字母x

lb = tkinter.Listbox(win, selectmode=tkinter.BROWSE)    # #光标松开选中
lb.pack()
for item in ["ni", "hao", "hello", "world", "girl", "bly"]:
    lb.insert(tkinter.END, item)
lb.insert(tkinter.ACTIVE, "action...")        # #在顶部添加元素
lb.insert(tkinter.END, ["heheda", "kaka"])    # #在末尾添加元素
# lb.select_set(2)        # #选中第3个值
# lb.select_set(2, 5)       # #选中第3个到第6个原数
# lb.select_clear(1)      # #取消第二个
# lb.select_clear(0, 2)   # #取消第一个到第三个
# lb.delete(1, 3)     # #删除列表框中的1到3的数据
# lb.delete(1)        # #删除列表中的第一个数据
# print(lb.size())      # #获取列表中元素的数量
print(lb.get(5))      # #取第6个元素的值
# print(lb.get(0, 2))   # #取第1个到第3个元素的值,返回结果是个元组()
# print(lb.curselection())    # #打印当前选中的索引值,返回元组()
# print(lb.select_includes(2))   # #判断第3个值是否被选中了,返回结果布尔值
win.mainloop()   # #窗口持久化

Python笔记之Tkinter(Listbox)_第1张图片

四、例子2

import tkinter
import time

def xFunc(event):
    # print(f"--lb.get:{lb.get()}----lb.curselection:{lb.get(lb.curselection())}")
    print(lb.get(lb.curselection()))     # #获取选中的元素的值


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("500x300+200+20")   # #窗口位置500后面是字母x


xVariable = tkinter.StringVar()      # #绑定string类型的变量
lb = tkinter.Listbox(win, selectmode=tkinter.SINGLE, listvariable=xVariable)    # #光标按下选中
lb.pack()
for item in ["ni", "hao", "hello", "world", "girl", "bly"]:
    lb.insert(tkinter.END, item)
# print(xVariable.get())      # #取列表的所有元素的值
# xVariable.set(("k", "a", "h", "n"))      # #重新设置列表中的值
lb.bind("", xFunc)       # #左键双击某条元素,执行方法

win.mainloop()   # #窗口持久化

kahn   2019年4月29日23:06:31

五、带滚动条的Listbox,ctrl+shift多选。

import tkinter


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题

# #创建Listbox
lb = tkinter.Listbox(win, selectmode=tkinter.EXTENDED)   # #可以按住ctrl或shift选中
# lb = tkinter.Listbox(win, selectmode=tkinter.MULTIPLE)   # #按下点击选中,可多选
# lb.pack()
xList = []
for i in range(1, 20):
    xList.append("kahn" + str(i))
for i in xList:
    lb.insert(tkinter.END, i)

# #创建滚动条
sc = tkinter.Scrollbar(win)                      # #创建滚动条
sc.pack(side=tkinter.RIGHT, fill=tkinter.Y)      # #将滚动条绑定到窗体右侧,填充为Y轴
lb.configure(yscrollcommand=sc.set)              # #配置listbox的配置文件
lb.pack(side=tkinter.LEFT, fill=tkinter.BOTH)    # #配置listbox的位置
sc['command'] = lb.yview


win.mainloop()   # #窗口持久化

Python笔记之Tkinter(Listbox)_第2张图片

你可能感兴趣的:(python)