[color=blue][b]1、Item选项[/b][/color]
Item的选项是通过listvariable属性进行设置,将一个tuples变量赋值给listvariable即可。见下面的代码:
tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
Listbox(root, listvariable = cnames, width = 100).grid()
列出的选项是python,TCL,ruby
[color=blue][b]2、Item选项的选择模式[/b][/color]
Item选项可以有两种选择模式,一种是单选,一种是多选;默认是单选。
设置的属性是 selectmode, 值 browse 是单选, 值 extended 是多选。例如:
Listbox(root, listvariable = cnames, width = 100, [color=red]selectmode = "extended"[/color]).grid()
[color=blue][b]3、获取当前的选择项[/b][/color]
可以通过curselection函数获取当前的item index,然后通过get函数获取对应的选项名称。代码如下:
def changeItems():
[color=red] indexs = l.curselection()
for i in range(len(indexs)):
print l.get(indexs[i])[/color]
root = Tkinter.Tk()
root.geometry('+400+200')
root.minsize(400,200)
root.title("test")
tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
l = Listbox(root, listvariable = cnames, width = 100, selectmode = "extended")
l.grid()
ttk.Button(root,text = "submit",command = changeItems).grid()
root.mainloop()
[color=blue][b]4、可选择的Item的变化
[/b][/color]
[color=red]第一种方式,是整体的方式,就是变更listvariable对应的变量list[/color]。这个的好处是,可以完全使用list熟悉的处理方式来处理listbox的items。具体代码如下,点击submit按钮之后,可选的item增加了一个'java':
def changeItems():
[color=red] tnames.append('java')
cnames.set(tuple(tnames))
[/color]
root = Tkinter.Tk()
root.geometry('+400+200')
root.minsize(400,200)
root.title("test")
[color=red]tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
[/color]Listbox(root, listvariable = cnames,height = 10).grid()
ttk.Button(root,text = "submit",command = changeItems).grid()
root.mainloop()
[color=red]第二种方式,是利用listbox提供的item增删插入等函数进行变更[/color],包含:insert、delete。从目前我个人的使用方式来看,似乎没有用到这些函数的必要性,所以暂时就不做介绍了。如果后续有,则再介绍。
Item的选项是通过listvariable属性进行设置,将一个tuples变量赋值给listvariable即可。见下面的代码:
tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
Listbox(root, listvariable = cnames, width = 100).grid()
列出的选项是python,TCL,ruby
[color=blue][b]2、Item选项的选择模式[/b][/color]
Item选项可以有两种选择模式,一种是单选,一种是多选;默认是单选。
设置的属性是 selectmode, 值 browse 是单选, 值 extended 是多选。例如:
Listbox(root, listvariable = cnames, width = 100, [color=red]selectmode = "extended"[/color]).grid()
[color=blue][b]3、获取当前的选择项[/b][/color]
可以通过curselection函数获取当前的item index,然后通过get函数获取对应的选项名称。代码如下:
def changeItems():
[color=red] indexs = l.curselection()
for i in range(len(indexs)):
print l.get(indexs[i])[/color]
root = Tkinter.Tk()
root.geometry('+400+200')
root.minsize(400,200)
root.title("test")
tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
l = Listbox(root, listvariable = cnames, width = 100, selectmode = "extended")
l.grid()
ttk.Button(root,text = "submit",command = changeItems).grid()
root.mainloop()
[color=blue][b]4、可选择的Item的变化
[/b][/color]
[color=red]第一种方式,是整体的方式,就是变更listvariable对应的变量list[/color]。这个的好处是,可以完全使用list熟悉的处理方式来处理listbox的items。具体代码如下,点击submit按钮之后,可选的item增加了一个'java':
def changeItems():
[color=red] tnames.append('java')
cnames.set(tuple(tnames))
[/color]
root = Tkinter.Tk()
root.geometry('+400+200')
root.minsize(400,200)
root.title("test")
[color=red]tnames = ['python','TCL','ruby']
cnames = StringVar()
cnames.set(tuple(tnames))
[/color]Listbox(root, listvariable = cnames,height = 10).grid()
ttk.Button(root,text = "submit",command = changeItems).grid()
root.mainloop()
[color=red]第二种方式,是利用listbox提供的item增删插入等函数进行变更[/color],包含:insert、delete。从目前我个人的使用方式来看,似乎没有用到这些函数的必要性,所以暂时就不做介绍了。如果后续有,则再介绍。