如何从 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()
我想选择在组合框中选择的数据,并使用它从 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)
我写这段代码,我想使用
的值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)
有人可以帮我做这件事吗? 最好的问候
您需要存储此值,一种方法是在您的 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)