先决条件: Python Tkinter – ListBox小部件, Python-tkinter中的可滚动列表框
Tkinter是python中的GUI库, 易于阅读和理解。在Tkinter中, 可以使用"列表框"窗口小部件完成多个选择。通常, 列表框以列表形式显示不同的项目。列表框小部件提供了列表中一项或多项的选择。列表框小部件中有许多可用选项, 使用户可以选择多个选项。通过将选择模式选项分配为多个, 用户可以选择多个选项。如果选择模式选项为单个, 则用户只能选择一个选项。
列表框窗口小部件的selectmode选项可以是单个, 浏览, 多个或扩展的。
- 单–选择一行文本。
- 浏览–这是默认选项, 用户可以选择一行文本。
- 多–选择多行文本, 而不从选项的第一行拖到最后一行。
- 扩展的–用户可以选择并拖动相邻的多行文本。
list_box = Listbox(root, options, ....)
示例1:在列表框中显示有限项的Python程序。
# Python program demonstrating
# Multiple selection in Listbox widgetfrom tkinter import * window = Tk()
window.geometry( '100x150' )# Choosing selectmode as multiple
# for selecting multiple options
list = Listbox(window, selectmode = "multiple" )# Widget expands horizontally and
# vertically by assigning both to
# fill option
list .pack(expand = YES, fill = "both" )# Taking a list 'x' with the items
# as languages
x = [ "C" , "C++" , "Java" , "Python" , "R" , "Go" , "Ruby" , "JavaScript" , "Swift" ]for each_item in range ( len (x)):list .insert(END, x[each_item])# coloring alternative lines of listbox
list .itemconfig(each_item, bg = "yellow" if each_item % 2 = = 0 else "cyan" )window.mainloop()
输出:
用户可以从上面的多个选择列表框中选择多个选项。由于列表框中的项目数量有限, 无法容纳规定的大小, 因此用户可以查看所有项目。但是, 如果有更多项目要显示给用户, 则所有这些项目在列表框中不会一次可见。因此, 如果列表中有更多项目要显示, 则必须将滚动条附加到列表框。这可以通过yscroll命令列表框中的选项(垂直滚动)。
示例2:Python程序显示带有附加滚动条的列表框。
# Python program demonstrating Multiple selection
# in Listbox widget with a scrollbarfrom tkinter import *window = Tk()
window.title( 'Multiple selection' )# for scrolling vertically
yscrollbar = Scrollbar(window)
yscrollbar.pack(side = RIGHT, fill = Y)label = Label(window, text = "Select the languages below :" , font = ( "Times New Roman" , 10 ), padx = 10 , pady = 10 )
label.pack()
list = Listbox(window, selectmode = "multiple" , yscrollcommand = yscrollbar. set )# Widget expands horizontally and
# vertically by assigning both to
# fill option
list .pack(padx = 10 , pady = 10 , expand = YES, fill = "both" )x = [ "C" , "C++" , "C#" , "Java" , "Python" , "R" , "Go" , "Ruby" , "JavaScript" , "Swift" , "SQL" , "Perl" , "XML" ]for each_item in range ( len (x)):list .insert(END, x[each_item])
list .itemconfig(each_item, bg = "lime" )# Attach listbox to vertical scrollbar
yscrollbar.config(command = list .yview)
window.mainloop()
输出:
注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。
【使用Tkinter创建多重选择】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 算法(创建一个具有左-子-右-兄弟表示的树)
- 创建WYSIWYG文档编辑器|自然语言编程
- 用Python创建你的第一个应用程序
- 一个创意的C++程序,用于缩放整数
- 处理中的创意编程|S2(洛伦茨吸引子)
- 处理中的创意编程|S1(Random Walker)
- 瑞士信贷面试经历|实习校园(浦那)
- cristian算法介绍和实现详细介绍
- 使用物联网的作物监控和智能农业