Ниже приведен пример того, что вы хотите сделать.
import tkinter as tk
root = tk.Tk()
def update(*args):
a = lbox.curselection() #note a is a tuple containing the line numbers of the selected element counting from 0.
print( type(a), a )
lb_value.set( countrynames[ a[0] ] ) #Update the control variable's value.
countrynames = ('Argentina', 'Australia', 'Belgium', 'Brazil', 'Canada',
'China', 'Denmark', 'Finland', 'France', 'Greece', 'India')
listCon = tk.StringVar( value=countrynames )
lbox = tk.Listbox(root, listvariable=listCon, height=10, selectmode=tk.SINGLE,)
lbox.grid(row=0, column=0)
lbox.bind('<<ListboxSelect>>', update)
lb_value=tk.StringVar()
lb = tk.Label(root, textvariable=lb_value, bg='yellow')
lb.grid(row=0, column=1)
root.mainloop()
Вам необходимо передать выбранный элемент Listbox
в Управляющую переменную , которая считывается опцией textvariable
виджета Label
. В зависимости от типа данных в вашем списке, вы должны выбрать подходящий тип управляющей переменной, например, StringVar()
, IntVar()
или DoubleVar()
. В моем примере используется StringVar()
, потому что содержимое countryname
является строковым типом.