我写这段代码,我想使用的价值
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()
我想选择组合框中选择的数据,并使用它从sqlite数据库中查询如下代码
con=sqlite3.connect('foo.db')
c = con.cursor()
d=combobbox selected value
df = pd.read_sql_query("SELECT * FROM {};".format(d),con)
谁能帮我做到这一点?最好的祝福
您需要存储此值(一种实现方法)是在类中创建一个属性SaveSelectValue
:
class SaveSelectValue():
def __init__(self):
self.value = None
然后您的回调必须保存该值:
def docallback(self , *args):
value = combo.get()
self.value = value
要绑定回调,请首先创建您的类的实例,然后使用它来绑定:
instanceSaveSelectValue = SaveSelectValue()
combo.bind("<<ComboboxSelected>>", instanceSaveSelectValue.docallback)
现在,您可以根据需要使用属性:
print(instanceSaveSelectValue.value)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句