我需要制作幾個下拉選單,然后將資料插入 SQL 資料庫。但它不允許我像使用條目那樣從下拉選單中獲取資料,我如何從下拉選單中獲取資料并將其添加到我的 sql 資料庫中?目前它給出了錯誤“AttributeError:'OptionMenu'物件沒有屬性'get'”我試圖從它的末尾洗掉.get(),但這沒有幫助。
這是我的代碼:
def vorm():
#Aken
top= Toplevel(ws)
top.geometry("720x200")
top['bg'] = '#26658f'
options= [
"P",
"V"
]
clicked = StringVar()
clicked.set("P")
#Tekst
Kuup?ev = Label(top,text="Kuup?ev", background="#26658f")
Kuup?ev.grid(row=0,column=0,padx=(10, 10))
Tellimus= Label(top,text="Tellimus", background="#26658f")
Tellimus.grid(row=0,column=1,padx=(10, 10))
Pos = Label(top,text="Pos", background="#26658f")
Pos.grid(row=0,column=2,padx=(10, 10))
Klient = Label(top,text="Klient", background="#26658f")
Klient.grid(row=0,column=3,padx=(10, 10))
Toode = Label(top,text="Toode", background="#26658f")
Toode.grid(row=0,column=4,padx=(10, 10))
Operatsioon = Label(top,text="Operatsioon", background="#26658f")
Operatsioon.grid(row=2,column=0,padx=(10, 10))
Kogus = Label(top,text="Kogus", background="#26658f")
Kogus.grid(row=2,column=1,padx=(10, 10))
K?si = Label(top,text="K?si", background="#26658f")
K?si.grid(row=2,column=2,padx=(10, 10))
Operaator = Label(top,text="Operaator", background="#26658f")
Operaator.grid(row=2,column=3,padx=(10, 10))
Pink = Label(top,text="Pink", background="#26658f")
Pink.grid(row=2,column=4,padx=(10, 10))
#Kirjakastid
Kuup?ev_entry = Entry(top)
Kuup?ev_entry.grid(row=1,column=0,padx=(10, 10))
Tellimus_entry = Entry(top)
Tellimus_entry.grid(row=1,column=1,padx=(10, 10))
Pos_entry = Entry(top)
Pos_entry.grid(row=1,column=2,padx=(10, 10))
Klient_entry = Entry(top)
Klient_entry.grid(row=1,column=3,padx=(10, 10))
Toode_entry = Entry(top)
Toode_entry.grid(row=1,column=4,padx=(10, 10))
Operatsioon_entry = Entry(top)
Operatsioon_entry.grid(row=3,column=0,padx=(10, 10))
Kogus_entry = Entry(top)
Kogus_entry.grid(row=3,column=1,padx=(10, 10))
K?si_entry = OptionMenu(top, clicked, *options)
K?si_entry.grid(row=3,column=2,padx=(10, 10))
Operaator_entry = Entry(top)
Operaator_entry.grid(row=3,column=3,padx=(10, 10))
Pink_entry = Entry(top)
Pink_entry.grid(row=3,column=4,padx=(10, 10))
#"Tühjenda"
def delete():
Kuup?ev_entry.delete(0, 'end')
Tellimus_entry.delete(0, 'end')
Pos_entry.delete(0, 'end')
Klient_entry.delete(0, 'end')
Toode_entry.delete(0, 'end')
Operatsioon_entry.delete(0, 'end')
Kogus_entry.delete(0, 'end')
K?si_entry.delete(0, 'end')
Operaator_entry.delete(0, 'end')
Pink_entry.delete(0, 'end')
#"Salvesta"
def submit_it():
con1 = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=192.168.1.8;DATABASE=HUT;UID=######;PWD=######')
cur2 = "insert into PROD_MachiningEventsTEST ([Date], [Order], [Position], [Client], [Product], [Operation], [Amount], [OpeningSide], [Operator], [Machine]) values(?,?,?,?,?,?,?,?,?,?)"
val = (Kuup?ev_entry.get(), Tellimus_entry.get(), Pos_entry.get(), Klient_entry.get(), Toode_entry.get(), Operatsioon_entry.get(), Kogus_entry.get(), K?si_entry.get(), Operaator_entry.get(), Pink_entry.get())
cur1 = con1.cursor()
cur1.execute(cur2,val)
con1.commit()
con1.close()
close_win(top)
uj5u.com熱心網友回復:
您需要使用clicked鏈接到OptionMenu( K?si_entry) 的 tkinter 變數 ( ) 來代替:
val = (Kuup?ev_entry.get(), Tellimus_entry.get(), Pos_entry.get(),
Klient_entry.get(), Toode_entry.get(), Operatsioon_entry.get(),
Kogus_entry.get(), clicked.get(), Operaator_entry.get(), # used clicked instead of K?si_entry
Pink_entry.get())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/435650.html
上一篇:按下時更新選項選單
