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()   # #窗口持久化

四、例子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("<Double-Button-1>", 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()   # #窗口持久化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

潇洒哥Kahn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值