问题遇到的现象和发生背景
我想要将listbox鼠标选中的值赋给一个变量,然后再点击button将变量的值赋给label
问题相关代码,请勿粘贴截图
from tkinter import *
def selectjob(event):
print(lbox1.curselection()) # 输出选定项的序号
#
a = lbox1.get(lbox1.curselection()) # 输出选定项的文本
def show1():
# lb1.configure(text=lbox1.get(lbox1.curselection()))
lb1.configure(text=a)
def show2():
# lb2.configure(text=lbox1.get(lbox1.curselection()))
lb2.configure(text=a)
root = Tk()
root.title('a')
root.geometry('500x500')
lbox1 = Listbox(root, height=6) # 只显示6行的列表框
# lbox1.grid(padx=10, pady=10)
lbox1.pack()
tuple_a = ('北京', '上海', '天津', '西藏', '新疆', '山东',
'湖北', '广东', '广西', '湖南', '云南', '香港') # 先定义一个元组
lbox1.insert(END, *tuple_a) # 插入元组
lbox1.bind("<<ListboxSelect>>", selectjob) # 绑定虚拟选定事件
lb1 = Label(root)
lb1.pack()
lb2 = Label(root)
lb2.pack()
btn1 = Button(root, text='第一', command=show1())
btn1.pack()
btn2 = Button(root, text='第二', command=show2())
btn2.pack()
root.mainloop()
运行结果及报错内容
NameError: name 'a' is not defined