DRd*_*Rdr 5 python listbox tkinter
我想在列表框上单击一下来执行功能.这是我的想法:
from Tkinter import *
import Tkinter
def immediately():
print Lb1.curselection()
top = Tk()
Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")
Lb1.pack()
Lb1.bind('<Button-1>', lambda event :immediately() )
top.mainloop()
Run Code Online (Sandbox Code Playgroud)
但是这个函数在执行选择之前打印...你会看到运行这段代码时的问题是什么.
您可以<<ListboxSelect>>按照本文中的描述绑定到事件:在更改Tkinter列表框选择时获取回调?
TKinter有点奇怪,因为信息似乎不包含在发送给处理程序的事件中.另请注意,不需要创建只调用函数的lambda,immediately函数对象可以如图所示传入:
from Tkinter import *
import Tkinter
def immediately(e):
print Lb1.curselection()
top = Tk()
Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")
Lb1.pack()
Lb1.bind('<<ListboxSelect>>', immediately)
top.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16075 次 |
| 最近记录: |