python tkinter listbox_Python Tkinter Listbox和Combobox控件用法

Listbox 代表一个列表框,用户可通过列表框来选择一个列表项。ttk 模块下的 Combobox 则是 Listbox 的改进版,它既提供了单行文本框让用户直接输入(就像 Entry 一样),也提供了下拉列表框供用户选择(就像 Listbox 一样),因此它被称为复合框。

程序创建 Listbox 起码需要两步:

创建 Listbox 对象,并为之执行各种选项。Listbox 除支持大部分通用选项之外,还支持 selectmode 选项,用于设置 Listbox 的选择模式。

调用 Listbox 的 insert(self, index, *elements) 方法来添加选项。从最后一个参数可以看出,该方法既可每次添加一个选项,也可传入多个参数,每次添加多个选项。index 参数指定选项的插入位置,它支持 END(结尾处)、ANCHOR(当前位置)和 ACTIVE(选中处)等特殊索引。

Listbox 的 selectmode 支持的选择模式有如下几种:

'browse':单选模式,支持按住鼠标键拖动来改变选择。

'multiple':多边模式。

'single':单边模式,必须通过鼠标键单击来改变选择。

'extended':扩展的多边模式,必须通过 CtrL 或 Shift 键辅助实现多选。

下面程序示范了 Listbox 的基本用法:

from tkinter import * # 导入ttk from tkinter import ttk class App: def __init__(self, master): self.master = master self.initWidgets() def initWidgets(self): topF = Frame(self.master) topF.pack(fill=Y, expand=YES) # 创建Listbox组件 self.lb = Listbox(topF) self.lb.pack(side=LEFT, fill=Y, expand=YES) for item in ['Python', 'Kotlin', 'Swift', 'Ruby']: self.lb.insert(END, item) # 或直接使用多个元素来插入 self.lb.insert(ANCHOR, 'Python', 'Kotlin', 'Swift', 'Ruby') # 创建Scrollbar组件,设置该组件与self.lb的纵向滚动关联 scroll = Scrollbar(topF, command=self.lb.yview) scroll.pack(side=RIGHT, fill=Y) # 设置self.lb的纵向滚动影响scroll滚动条 self.lb.configure(yscrollcommand=scroll.set) f = Frame(self.master) f.p

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值