[英]How to pass string var in callback function using trace() in tkinter
[英]how to pass call value from callback function in tkinter
我寫了這段代碼,我想使用
class saveselectvalue():
def docallback(self , *args):
value = combo.get()
return value
root=tk.Tk()
root.title('Testing Tkinter Combobox With Sqllite')
root.geometry('500x600+150+80')
frame1 =tk.Frame(root, width=500, height=75, background="blue")
frame1.pack_propagate(False)
frame1.pack()
frame2 =tk.Frame(root, width=500, height=90, background="blue")
frame2.pack_propagate(False)
frame2.place(x=0 , y=77)
frame3 =tk.Frame(root, width=500, height=180, background="white")
frame3.pack_propagate(False)
frame3.place(x=0 , y=170)
combo=ttk.Combobox(frame1,width=15 , height=10 )
combo.place(x=300 , y=8)
df=sqltablename()
combo['values']=df.to_string(header=None , index=False)
valueselected=combo.bind("<<ComboboxSelected>>", saveselectvalue.docallback)
...
...
tree=ttk.Treeview(frame3)
tree.place(x=10 , y =0)
root.mainloop()
我想選擇在 combobox 中選擇的數據並使用它從 sqlite 數據庫中查詢,代碼如下
con=sqlite3.connect('foo.db')
c = con.cursor()
d=combobbox selected value
df = pd.read_sql_query("SELECT * FROM {};".format(d),con)
誰能幫我做到這一點? 此致
您需要存儲此值,一種方法是在您的 class SaveSelectValue
中創建一個屬性:
class SaveSelectValue():
def __init__(self):
self.value = None
然后您的回調必須保存該值:
def docallback(self , *args):
value = combo.get()
self.value = value
要綁定回調,首先創建 class 的實例,然后使用它來綁定:
instanceSaveSelectValue = SaveSelectValue()
combo.bind("<<ComboboxSelected>>", instanceSaveSelectValue.docallback)
現在您可以隨意使用該屬性:
print(instanceSaveSelectValue.value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.