【发布时间】:2020-03-03 14:56:04
【问题描述】:
#我想把combobox中选中的item放到merk_entry中。以及从 model_entry 中的列表框(omschrijving)中选择的项目。 .get() 或 insert 在此函数中不起作用。 我尝试了他们两个。还选择了组合框。 我不知道如何解决这个问题。
提前致谢。
from tkinter import *
from tkinter.ttk import Combobox
window=Tk()
window.geometry("500x500")
wagenmerk=["BMW","Mercedes","Audi"]
Bmw=["Bmw 1 reeks","Bmw 5 reeks Berline","Bmw 7 reeks"]
Mercedes=["A-klasse","B-klasse","Eqc","C-klasse"]
Audi=["A1","A3","A4"]
def toon_info(evt):
teller=1
merk_info=automerk_entry.get()
print(merk_info)
if merk_info == "BMW":
omschrijving.delete(0,END)
for line in Bmw:
omschrijving.insert(teller,Bmw[teller-1])
teller+=1
elif merk_info=="Mercedes":
omschrijving.delete(0,END)
for line in Mercedes:
omschrijving.insert(teller,Mercedes[teller-1])
teller+=1
elif merk_info=="Audi":
omschrijving.delete(0,END)
for line in Audi:
omschrijving.insert(teller,Audi[teller-1])
teller+=1
automerk_text=Label(text="automerk")
merk_text=Label(text="merk")
model_text=Label(text="model")
prijs_text=Label(text="prijs")
automerk_text.place(x=15,y=70)
merk_text.place(x=280,y=100)
model_text.place(x=280,y=120)
prijs_text.place(x=280,y=140)
merk=StringVar()
model=StringVar()
prijs=StringVar()
merk_entry=Entry(textvariable=merk,width="25")
model_entry=Entry(textvariable=model,width="25")
prijs_entry=Entry(textvariable=prijs,width="25")
merk_entry.place(x=320,y=100)
model_entry.place(x=320,y=125)
prijs_entry.place(x=320,y=150)
automerk_entry=Combobox(window,values=wagenmerk,width=30)
automerk_entry.bind("<<ComboboxSelected>>",toon_info)
automerk_entry.place(x=70,y=70)
omschrijving=Listbox(window,width=30,height=10)
omschrijving.place(x=70,y=100)
#button
bereken=Button(window,text="toon",width="30",height="2",command=toon_info,bg="grey")
bereken.place(x=70,y=270)
【问题讨论】:
-
在这种情况下“不工作”是什么意思?它会抛出错误吗?它会返回错误的信息吗?还有什么?
-
您是否尝试过
print(evt)来查看事件数据的结构?
标签: python-3.x events tkinter listbox event-handling