使用Tkinter创建多重选择

先决条件: 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课程。

    推荐阅读