飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1972|回复: 4

GUI界面增加列表框实现选项功能

[复制链接]
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 294 天

    [LV.8]以坛为家I

    发表于 2022-11-29 23:39:36 | 显示全部楼层 |阅读模式
    Tkinter列表框控件增加选项功能

    本人源码
    [Python] 纯文本查看 复制代码
    # 在主窗口添加列表框控件 并且给列表框增加滚动条和删除功能
    
    from tkinter import *
    
    win = Tk()
    win.title('列表框控件实现')
    win.geometry('400x180+300+200')
    
    # 创建滚动条
    s = Scrollbar(win)
    # pack()方法里面传入side关键字参数和fill关键字参数以设置滚动条的方向以及滚动条填充的方向
    # side默认是'top'  RIGHT表示右侧 RIGHT和'right'的效果是一样的
    # fill设置滚动条是否被填充 以及填充的方向 通过fill=Y来将滚动条沿着Y轴填充
    s.pack(side=RIGHT,fill=Y)
    
    # 创建列表框控件 使用Listbox()方法
    # selectmode表示列表选项的选择模式 MULTIPLE表示多选 height表示选项条目的行数
    # 为列表框控件添加滚动条 用Scrollbar组件关联yscrollcommand
    listbox1 = Listbox(win,selectmode=MULTIPLE,height=5,yscrollcommand=s.set)
    
    # 使用for循环为列表框插入选项
    # enumerate()方法用于将一个可迭代的/可遍历的的对象(比方说字符串 列表)组合成一个索引序列 这个方法可以通过for循环返回索引值和值
    for i,item in enumerate(range(1,50)):
        # 列表框通过索引插入值
        listbox1.insert(i,item)
    
    listbox1.pack()
    
    # 将滑动条与列表框关联 滑动滑动条 列表框跟着滑动
    s.config(command=listbox1.yview)
    
    # 添加一个删除按钮 comman的参数值是一个匿名函数
    bt = Button(win,text='删除',command=lambda x = listbox1 : x.delete(ACTIVE))
    # 按钮被放置在主窗口底部
    bt.pack(side=BOTTOM)
    
    win.mainloop()
    
    # 实不相瞒 其中有一两个代码行本人也不是很理解 但是我学习时将C语言中文网的部分源码熟记于心 差不多等同于背代码了


    效果图

    屏幕截图_20221129_233016.png



    C语言中文网的效果图

    屏幕截图_20221129_233103.png

    学习来源的链接 http://c.biancheng.net/tkinter/listbox.html

    PYG19周年生日快乐!
  • TA的每日心情
    难过
    4 小时前
  • 签到天数: 982 天

    [LV.10]以坛为家III

    发表于 2022-11-30 21:01:19 | 显示全部楼层
    向原创老师致敬!
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    难过
    12 小时前
  • 签到天数: 526 天

    [LV.9]以坛为家II

    发表于 2022-11-30 13:43:16 | 显示全部楼层
    来学习了,多谢!
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 20:22
  • 签到天数: 441 天

    [LV.9]以坛为家II

    发表于 2022-11-30 08:09:03 | 显示全部楼层

    谢谢楼主分享
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 294 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-11-30 21:32:06 | 显示全部楼层
    xyzjxlf 发表于 2022-11-30 21:01
    向原创老师致敬!

    (*^▽^*) 嘿嘿
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表